0

私のアプリケーションでは、フィルター式を使用してデータテーブルをフィルター処理しており、条件に一致する DataRow を取得しています。特定の列の値が DataRow 配列の行に存在するかどうかを確認したいと思います。

コード:

string FilterCond1 = "id=" + getId;
DataRow[] myrow = DataTable.Select(FilterCond1);
if (myrow.Length > 0)
{
//check for size=28 in DataRow[]
}
else
{
}

データテーブルに列サイズDataTableがあり、DataRow 配列の行の列に値 28 があるかどうかを確認したいのですsizeが、どうすればよいですか?

4

3 に答える 3

3

これを試して

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")、配列内の行が必要なものであることを知っているので、必要はありません。

于 2013-04-10T10:46:19.517 に答える
0

列コレクションを使用して、行内の特定の列値にアクセスできます。

if(myrow[rowIndex]["ColoumnName"].ToString() == "somevalue")

行インデックスは 0 から長さ 1 まで可能

コメントに基づいて編集します。選択した列に複数の条件を配置し、ここで確認して、反復する必要がない場合があります。

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
   }
}
于 2013-04-10T10:07:15.040 に答える
0

まず、foreach を使用してすべての行を反復処理し、次に以下のコードを使用する必要があります。

if(myrow[row]["size"] == 28)

また

int ColIndex = 3; // replace 3 with ur co. index 
if(myrow[row][ColIndex] == 28)
于 2013-04-10T10:10:44.420 に答える