2013-02-18 14 views
9

Witam chce powiązać DataTable z wieloma kolumnami do DataGrid w kodzieDataTable jako DataGrid.ItemsSource

var dt = new DataTable(); 

    dt.Columns.Add(new DataColumn("1")); 
    dt.Columns.Add(new DataColumn("2")); 
    dt.Columns.Add(new DataColumn("3")); 

    dt.Rows.Add(ff.Mo); 
    dt.Rows.Add(ff.Di); 
    dt.Rows.Add(ff.Mi); 
    dt.Rows.Add(ff.Do); 
    dt.Rows.Add(ff.Fr); 
    dt.Rows.Add(ff.Sa); 
    dt.Rows.Add(ff.So); 
// ff is a object that contains List<myCellObj> 

DataGrid DGrid = new DataGrid(); 
for (int i = 0; i < 3; i++) 
{ 
    DataGridTemplateColumn templateColumn = new DataGridTemplateColumn(); 
    templateColumn.HeaderTemplate = HeaderDt; 
    templateColumn.CellTemplate = ItemDt; //specified DataTemplate for myCellObj 

    DGrid.Columns.Add(templateColumn); 
} 

teraz jak mogę ustawić dt jak ItemsSource, Datacontext lub co stać go w coraz mój View także jeśli można zapewnić mi drogę do wiązania bezpośrednio do mojego Object ff

niczego, co mogłoby pomoc mile widziana

+1

http://stackoverflow.com/questions/6984686/convert-and-use-datatable-in-wpf-datagrid –

+0

@AbZy tak próbowałem to i tak to nie działa – WiiMaxx

+0

@moncadad dokładnie to, czego szukałem na wygląda – WiiMaxx

Odpowiedz

21

Zakładając, że jesteś w WPF po prostu powiedzieć:

DGrid.ItemsSource = dt.AsDataView(); 

Nie trzeba ręcznie ustawienie kolumn na DataGrid, przypisując DataTable będzie je skonfigurować dla Ciebie.

+0

Daje mi błąd: Dwukierunkowe wiązanie wymaga ścieżki lub XPath. –

+0

Jeśli nie dodaje się kolumna po kolumnie, formatowanie DataGrid nie dotyczy tylko dane są wyświetlane. Pomóż w dynamicznym formatowaniu kolumn, takich jak kolory changin. –

+0

Proponuję zatem zadać nowe pytanie. To pytanie nie jest związane z formatowaniem datagridu, a jedynie ustawienie źródła danych. –