Wypełnienie DataGrid za pomocą listy

0

Mam datagrida ze zdefiniowanymi kolumnami. Próba załadowania danych pokazuje wiersze, ale wszystkie są puste. W winforms mam coś takiego zrobionego:

string zapytanie = "select wart1, wart2, wart3, wart4 from tabela";

List<DataGridViewRow> rows = new List<DataGridViewRow>();

            foreach (DataRow row in dt.Rows)
            {
                DataGridViewRow row1 = new DataGridViewRow();
                row1.CreateCells(dataGridView1);
                row1.Cells[0].Value  = row["wart1"].ToString();
                row1.Cells[1].Value  = row["wart2"].ToString();
                row1.Cells[2].Value  = row["wart3"].ToString();
                row1.Cells[3].Value  = row["wart4"].ToString();
                rows.Add(row1);
            }
            dataGridView1.Rows.AddRange(rows.ToArray());

Kombinuję, ale nie mogę znaleźć rozwiązania. Próbowałem chociaż załadować dane w poniższy sposób, ale też wrzuca na pusto:

datagrid1.ItemsSource = dt.DefaultView;

Dla próby załadowałem bez zdefiniowanych kolumn w innym projekcie i datagrid wypełnił się danymi.

0

Ja robie tak:
Pisze klasę która reprezentuje wiersz datagrida, z publicznymi wlaściwościami odpowiadającymi kolumnom tabeli. Np:

class Wiersz 

{ 
public int Liczba {get;set}
public string  Łancuch {get;set}
}

Dla każdego wiersza, tworzysz nowy obiekt i wypelniasz wlasciwosci. Potem dodajesz obiekt do listy a liste bindujesz z Datagrid.Itemssource

var lista = new List<Wiersz>();
lista.add( new Wiersz() {/* tutaj inicjalizacja wlasciwosci*/});
datagrid.itemssource = lista; 

1 użytkowników online, w tym zalogowanych: 0, gości: 1