Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms Datagridview行数显示0,即使存在有效的数据源_Winforms_Data Binding_Datagridview_Rowcount - Fatal编程技术网

Winforms Datagridview行数显示0,即使存在有效的数据源

Winforms Datagridview行数显示0,即使存在有效的数据源,winforms,data-binding,datagridview,rowcount,Winforms,Data Binding,Datagridview,Rowcount,我有一个动态创建的DataGridView,它有一个有效的数据源,有一行绑定到它。但是,当我在DataGridView上进行行计数时,它会返回0 dgResult.DataSource = resultDt; // a datatable containing one row flowLayoutPanel.Controls.Add(dgResult); int rows = dgResult.Rows.Count; // returning 0 always! 有人能告诉我哪里出了问题吗?

我有一个动态创建的DataGridView,它有一个有效的数据源,有一行绑定到它。但是,当我在DataGridView上进行行计数时,它会返回0

dgResult.DataSource = resultDt; // a datatable containing one row
flowLayoutPanel.Controls.Add(dgResult); 
int rows = dgResult.Rows.Count; // returning 0 always!
有人能告诉我哪里出了问题吗?

请使用以下代码:

BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = resultDt;

dgResult.DataSource = bindingSource;
flowLayoutPanel.Controls.Add(dgResult); 

var c = dgResult.Rows.Count;

绑定源负责将数据与控件同步。您希望使用它,而不是试图将表直接分配给控件。

我发现了问题。我在未选中的选项卡式页面中显示网格。除非网格可见,否则它不会在数据绑定期间引发rowadded事件(这很奇怪!)。在进行数据绑定之前,我选择了选项卡页,行数正常。

不幸的是,这并没有解决问题。我猜您可能是在绑定数据之前以某种方式处理了数据。张贴你的代码,填充数据表,我来看看。确保省略connectionstring并包含声明,以便我可以查看变量的范围。我面临同样的问题,我正在tablelayout中显示datagrid,你能告诉我解决方法吗?你是怎么做到的?你能告诉我们现在我的网格视图在选项卡中,并返回1 always row count如何计算网格视图中存在的intab行数吗