2016-03-25 28 views
1

我有DataSet这不是null。它有16行,为什么grid.Rows.Count始终为0?

enter image description here

但我的网格没有行。我有bindingSource,这里是一些代码:

bindingSource.DataSource = ds.Tables[0]; //ds is DataSet 
grid.DataSource = bindingSource; 

double sum1 = 0; 
for (int i = 0; i < grid.Rows.Count; ++i) 
{ 
    sum1 += Convert.ToDouble(grid.Rows[i].Cells[13].Value); 
} 

当我开始调试,当它涉及到i < grid.Rows.Count它只是跳出for循环。任何想法为什么会发生?

+1

,而不是'grid.Rows.Count'尝试'ds.Tables [0] .Rows.Count' –

+3

也许需要'grid.DataBind()'? –

+1

[DataGridView.Rows.Count为0]可能的重复(http://stackoverflow.com/questions/23130156/datagridview-rows-count-is-0) – Claudius

回答

4

你需要的数据表,直接分配给DataGridViewDataSource ..

grid.DataSource = ds.Tables[0]; 

double sum1 = 0; 
for (int i = 0; i < grid.Rows.Count; ++i) 
{ 
    sum1 += Convert.ToDouble(grid.Rows[i].Cells[13].Value); 
} 

工程....

+0

是的...你没事。不需要绑定源。 – Nemanja