我以编程方式创建数据网格视图并将数据绑定到它。由于某种原因,行是空的。看起来很奇怪,但我不想显示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!
创建数据源之后有什么办法可以填充行吗?
谢谢
答案 0 :(得分:1)
我想知道为什么你需要一个DataGridView而不首先在UI上显示它。我可以提出几种替代方案
(假设它绑定到DataSet)
((DataSet)dataGridView1.DataSource).Tables[0].Rows.Count
也可以。
答案 1 :(得分:1)
我相信DataGridViews在实际渲染之前不会绑定/包含任何行。
@ paul.abbott.wa.us是对的。
您可以移动计算 DataGridView.DataBindingComplete 事件
中行数的代码http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.databindingcomplete.aspx
答案 2 :(得分:0)
要查看数据网格,您应该将其添加到父控件集合中:
DataGridView = new System.Windows.Forms.DataGridView();
Controls.Add(DataGridView);
目前,您的网格没有任何父网格,无法显示。