Я должен отображать каждую строку из таблицы, которую выбирает пользователь, все кажется хорошим, но таблица заполняется пустыми строками, я использую DataGrid для отображения данных. Может ли кто-нибудь сказать мне, что я делаю неправильно здесь?
private void showSelectedTable(object sender, RoutedEventArgs e)
{
if (mysql.IsChecked == true)
{
string query = "SELECT * FROM " + tableListBox.SelectedItem.ToString();
MySqlCommand myTableContent = new MySqlCommand(query, (MySqlConnection)conn);
try
{
MySqlDataReader myReader = null;
myReader = myTableContent.ExecuteReader();
choosenDataTable = myReader.GetSchemaTable();
foreach (DataRow row in choosenDataTable.Rows)
{
DataGridTextColumn textColumn = new DataGridTextColumn();
textColumn.Header = row.Field<String>("ColumnName");
tableDataGrid.Columns.Add(textColumn);
}
if (myReader.HasRows)
{
while (myReader.Read())
{
ObservableCollection<String> observable = new ObservableCollection<String>();
for (int i = 1; i < myReader.Columns.Count; i++)
{
observable.Add(myReader.GetString(i));
}
tableDataGrid.Items.Add(observable);
}
}
}
catch(SqlException ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
}
Вы можете разделить проблему на части
Но я думаю, что это решит ваши обе проблемы, и это то, что вы хотите