У мене є проблеми з переглядом DataGrid (DataGrid - це одна), коли я змінюю її dataContext.
Я витягую інформацію з DBlite DB і вкладаю її в DataTable, тоді я очищаю стовпці DataGrid і розміщую нові дані DataTable у DataGrid, код тут:
sqliteDataAdapter = new SQLiteDataAdapter(query, sqliteConnection);
if (tableFromDB == null)
tableFromDB = new DataTable();
tableFromDB.Reset();
sqliteDataAdapter.Fill(tableFromDB);
dataGrid.Columns.Clear();
dataGrid.DataContext = tableFromDB;
І це працює один раз, коли я вибираю іншу інформацію з БД і повторюю цей код, у мене є дані (я бачу це в DataTable), але число стовпців = 0 (у DataGrid).
Відповіді:
0 для відповіді № 1Коли я коментую рядок: dataGrid.Columns.Clear (); У мене є виняток ... Але я вирішив свою проблему. Після dataGrid.Columns.Clear (); Я зробив це:
foreach (DataColumn col in tableFromDB.Columns)
{
dataGrid.Columns.Add(
new DataGridTextColumn
{
Header = col.ColumnName,
Binding = new Binding(string.Format("[{0}]", col.ColumnName))
});
}
dataGrid.ItemsSource = tableFromDB.Rows;
dataGrid.Items.Refresh();