У меня есть DataTable
, заполненный данными с сервера SQL.
Я пытаюсь скопировать DataTable
в DataGrid
без использования ItemsSource
В настоящее время я могу скопировать столбцы, используя цикл.
Private Pages.PageGainLoss gridCreator(DataTable dt)
{
var DT = dt;
Pages.PageGainLoss gainLoss = new Pages.PageGainLoss();
foreach(DataColumn dC in DT.Columns)
{
var col = new DataGridTextColumn();
col.Header = dC.ColumnName;
gainLoss.dataGrid.Columns.Add(col);
}
foreach(DataRow dR in DT.Rows)
{
gainLoss.DataGrid.Items.Add(dR)
}
return gainLoss;
}
Но я не могу понять цикл для копирования строк. Он копирует пустые строки в мою сетку данных.
EXTRA:
Причина, по которой я использую этот подход, заключается в том, что я использую класс для создания Page
, который содержит DataGrid
и заполняет DataGrid
перед его отображением в рамке на главной странице. Но когда я использую gainLoss.dataGrid.ItemsSource = dt.DefaultValue;
, я не могу изменить DataGrid
или изменить его свойства, такие как ширина столбца или цвет, потому что он говорит, что столбец не существует.