DataGrid动态表填充空白行C#

时间:2018-05-23 17:35:55

标签: c# mysql wpf

我必须显示用户选择的表中的每一行,每次看起来都不错,但表中填充了空行,我使用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());
            }


        }
    }

My app windows, with "filled" DataGrid

1 个答案:

答案 0 :(得分:0)

您可以将问题分成部分

  1. 从数据源动态生成表
  2. 将该动态数据源附加到Gridview
  3. 但我认为This将解决您的两个问题,这是您想要的

相关问题