检查DataRow数组中是否存在值
本文关键字:存在 是否 DataRow 数组 检查 | 更新日期: 2023-09-27 18:08:19
在我的应用程序中,我使用过滤器表达式过滤数据表,并获得与条件匹配的DataRow。现在我想检查特定列的值是否存在于DataRow数组的任何一行。
:
string FilterCond1 = "id=" + getId;
DataRow[] myrow = DataTable.Select(FilterCond1);
if (myrow.Length > 0)
{
//check for size=28 in DataRow[]
}
else
{
}
我在数据表DataTable
中有列大小,我想检查DataRow数组的任何一行是否在列size
中有值28。我该如何去做呢?
试试这个
string FilterCond1 = "id=" + getId;
DataRow[] myrow = DataTable.Select(FilterCond1);
if (myrow.Length > 0)
{
for(int i = 0; i < myrow.Length; i ++)
{
if(myrow[i]["size"].ToString() == "28")
{
// YOUR CODE HERE
}
}
}
else
{
}
编辑
只需将条件添加到您的过滤器中。
string FilterCond1 = "id=" + getId + " AND size=28";
那么你不需要if(myrow[i]["size"].ToString() == "28")
,因为你知道数组中的行是你想要的。
可以使用列集合访问行中特定的列值。
if(myrow[rowIndex]["ColoumnName"].ToString() == "somevalue")
其中行索引可以从0到length-1
编辑根据注释,您可以在select列上放置多个条件,检查它这里,并且可能不需要迭代
string FilterCond1 = "id=" + getId + " AND size = " + 28;
DataRow[] myrow = dt.Select(FilterCond1);
遍历行集合
for(int i=0; i < myrow.Length; i++)
{
if(myrow[i]["size"].ToString() == "28")
{
//your code
}
}
首先使用foreach遍历所有行,然后使用下面的代码。
if(myrow[row]["size"] == 28)
或
int ColIndex = 3; // replace 3 with ur co. index
if(myrow[row][ColIndex] == 28)