0
我想獲取DataGridView [dataGridView1.Rows.Count]的行數。我發現,雖然UI顯示已經在DataGridView中添加了多行,但行計數仍然爲0。我想通了,這可能是一個線程thinggy所以我用下面的代碼來檢索行數:使用BeginInvoke獲取價值/調用
public void OnTagsReported(...)
{
...
for(var i = GetDataGridViewRowCount(dgvScanResult) - 1; i >= 0; i--)
{
var row = dgvScan.Rows[ i ];
...
}
...
}
protected int GetDataGridViewRowCount(DataGridView gridView)
{
try
{
if(! InvokeRequired)
{
return gridView.Rows.Count;
}
var count = 0;
var action = new Action<DataGridView>(delegate(DataGridView c)
{ count = c.Rows.Count; });
gridView.Invoke(action, gridView);
return count;
}
catch(ObjectDisposedException) {}
catch(InvalidOperationException) {}
}
我得到的行數,但不知道如果這是正確的方式。我可以知道你會怎麼做?
謝謝大家的關注和意見。