vs2003:识别 DataRow[] 中的第一行
Posted
技术标签:
【中文标题】vs2003:识别 DataRow[] 中的第一行【英文标题】:vs2003: identify first row in DataRow[] 【发布时间】:2010-03-16 17:19:44 【问题描述】:在以下代码中识别第一行的最佳方法是什么?
foreach(DataRow row in myrows)
if (first row )
...do this...
else
....process other than first rows..
【问题讨论】:
【参考方案1】:您可以为此使用布尔标志:
bool isFirst = true;
foreach(DataRow row in myrows)
if (isFirst)
isFirst = false;
...do this...
else
....process other than first rows..
【讨论】:
嗯...@Adam,我相信您回答这个问题是有充分理由的。我很想知道为什么最好使用布尔值来检查行索引是否== 0。更有效吗?谢谢! :-) @Javier:你的意思是打电话给Array.IndexOf(myrows, row) == 0
?如果是这样,那么是的,这绝对更有效。如果您想知道索引,那么 Hunter 使用 for
循环的解决方案会更可取。如果您指的是row.Index
,那么这就是它在其父DataTable
中的索引,不是在他描述的数组中。【参考方案2】:
你可以使用 for 循环代替
for(int i = 0; i < myrows.Count; i++)
DataRow row = myrows[i];
if (i == 0)
else
【讨论】:
【参考方案3】:也许是这样的?
foreach (DataGridViewRow row in dataGridView1.Rows)
if (row.Index == 0)
//...
else
//...
【讨论】:
他表示他有一个DataRow[]
,而不是DataTable
。表中行的索引与其在任意数组中的索引之间没有必要的关联。【参考方案4】:
使用 int 循环遍历集合。
for (int i =0; i < myDataTable.Rows.Count;i++)
if (i ==0)
//first row code here
else
//other rows here
【讨论】:
【参考方案5】:首先将DataRow转换为DataRowView:
How Can Convert DataRow to DataRowView in c#
然后:
foreach (DataRowView rowview in DataView)
if (DataRowView.Table.Rows.IndexOf(rowview.Row) == 0)
// bla, bla, bla...
【讨论】:
以上是关于vs2003:识别 DataRow[] 中的第一行的主要内容,如果未能解决你的问题,请参考以下文章
如何从 DataGridView 中的一行获取 DataRow
获取DataGridView上选中的一行并转换为一个DataRow类型