11

こんにちは私DataTableは複数の列を持つDataGridをコードビハインドにバインドしたい

    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);
}

今、私はどのように私dtを設定しますかItemsSource、または あなたが私に直接バインドする方法を私に提供することができればDatacontext、それを私に入れるためにこれまでに何をしますかViewObject ff

助けになるものは何でも大歓迎です

4

1 に答える 1

26

あなたがWPFにいると仮定すると、単に次のように言います。

DGrid.ItemsSource = dt.AsDataView();

DataGridで列を手動で設定する必要はありません。DataTableを割り当てると、これらが自動的に設定されます。

于 2013-02-18T18:47:59.390 に答える