即使我有数据源,Datagridview行也是0
本文关键字:Datagridview 数据源 | 更新日期: 2023-09-27 18:22:04
我正在以编程方式创建一个数据网格视图并将数据绑定到它。由于某些原因,行是空的。虽然看起来很奇怪,但我不想显示Datagrid视图,只想将其传递到一个类中,该类将数据提取为Excel和CSV。
this.DataGridView = new System.Windows.Forms.DataGridView();
System.Windows.Forms.BindingSource bindingSource = new System.Windows.Forms.BindingSource();
bindingSource.DataSource = DataSource;
this.DataGridView.AutoGenerateColumns = autoGenerateColumns;
this.DataGridView.DataSource = bindingSource;
Int32 rowCount = this.DataGridView.Rows.Count; // 0!
在创建数据源之后,有什么方法可以让行填充吗?
感谢
我相信DataGridViews在实际呈现之前不会绑定/包含任何行。
@paul.abbot.wa.us是对的。
您可以在DataGridView.DataBindingComplete事件中移动对行计数的代码
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.databindingcomplete.aspx
我想知道为什么您需要一个DataGridView而不在UI上显示它。有几个替代品我可以建议
- 放开DataGridView并使用DataTable/IEnumerable来保留数据。两者都可以为您提供计数
- 如果你坚持保留DataGridView,那么
(假设其绑定到数据集)
((DataSet)dataGridView1.DataSource).Tables[0].Rows.Count
也会起作用。
为了查看数据网格,您应该将其添加到父控件集合:
DataGridView = new System.Windows.Forms.DataGridView();
Controls.Add(DataGridView);
当前,您的网格没有任何父网格,因此无法显示。