【发布时间】:2012-08-24 15:05:42
【问题描述】:
数据到达 DataTable(11 列和 3 行),但是当我尝试让它到达 DataGridView 时,没有成功(没有错误,只是一个空的“DataGridView”)。以下是相关代码的一部分:
DataGridView SecuritiesGridView1 = new DataGridView();
BindingSource bindingSource1 = new BindingSource();
SecuritiesGridView1.DataSource = bindingSource1;
String connectionString = "Data Source=|DataDirectory|\\PersonalFinanceDB.sdf;Encrypt Database=True;Persist Security Info=True";
SqlCeDataAdapter dataAdapter = new SqlCeDataAdapter(DBcommand, connectionString);
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
bindingSource1.DataSource = table;
SecuritiesGridView1.DataSource = bindingSource1;
dataAdapter.Fill(table);
MessageBox.Show("Number of columns of table: " + table.Columns.Count.ToString()); // Returns 11
MessageBox.Show("Number of rows of table: " + table.Rows.Count.ToString()); // Returns 3
MessageBox.Show("Number of rows of grid: " + SecuritiesGridView1.RowCount.ToString()); // Returns 0
MessageBox.Show("Number of columns of grid: " + SecuritiesGridView1.ColumnCount.ToString()); // Returns 0
有人知道我可能做错了什么吗?
【问题讨论】:
-
我没有看到任何将
BindingSource连接到DataTable的东西 -
尝试在
DataSource的设置之前移动dataAdapter.Fill(table)? -
您的代码示例中仍然缺少某些内容。如果我设置了一个非常相似的示例,但实际上是在表单上显示网格,则数据会正确加载和显示。这基本上也是 MSDN 描述如何将 datagridview 绑定到绑定源 msdn.microsoft.com/en-us/library/fbk67b6z.aspx
标签: c# winforms datagridview ado.net datatable