2012-02-15 2 views
0

У меня есть некоторые проблемы с просмотром DataGrid (DataGrid - один), когда я изменяю его dataContext.Исчезновение столбцов при изменении datagrid.datacontext

извлечь информацию из БД SQLite и поместить его в 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

Почему вы удаляете столбцы. Что произойдет, когда вы прокомментируете следующую строку: dataGrid.Columns.Clear(); – Amit

ответ

0

Когда я прокомментирую строку: 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(); 
Смежные вопросы