5

列名を使用してデータビューから値を見つけようとしています。私のデータセットは値を示していますが、私の if 条件は false を返します。私は c# を使用して asp.net で作業しています。

私は別のコードで試しました。私はこのような価値を得ようとしています

dv[0].DataView.Table.Columns[0].ToString().Contains("52")
   //RETURN FALSE

OR

dv[0].Equals("52")
   // //RETURN FALSE

また

dv[0].Find("52")
   // //RETURN FALSE

以下は私のデータセットです ここに画像の説明を入力

4

5 に答える 5

1

データビューに特定の列が存在するかどうかを確認する 1 つの方法は、次のようになります。

if (dv.Table.Columns["Name"] != null)
{
//Name column exists. Add Logic here
}
于 2013-11-04T18:58:48.000 に答える
1

Linqデータテーブルまたはデータビューのクエリに使用できます。たとえば、列が文字列型であると仮定します。

var condition = yourDataTable.AsEnumerable()
                             .Any(r => r.Field<string>("GBA_Nbr_GBAccount") == "52");

var condition = yourDataView.Cast<DataRowView>()
                            .Any(rv => rv.Row.Field<string>("GBA_Nbr_GBAccount") == "52");

列が整数だった場合は、をに変更しField<string>Field<int>、文字列ではなく整数と比較するだけです

var condition = yourDataTable.AsEnumerable()
                             .Any(r => r.Field<int>("GBA_Nbr_GBAccount") == 52);

var condition = yourDataView.Cast<DataRowView>()
                            .Any(rv => rv.Row.Field<int>("GBA_Nbr_GBAccount") == 52);

文字列列を使用したアプリケーションの例:

static void Main(string[] args)
{
    DataSet dataset = new DataSet();
    dataset.Tables.Add(new DataTable("table1"));
    dataset.Tables[0].Columns.Add(new DataColumn("Value", typeof(string)));
    dataset.Tables[0].Rows.Add("10");
    dataset.Tables[0].Rows.Add("52");

    DataTable table = dataset.Tables[0];
    DataView view = table.DefaultView;

    var condition1 = table.AsEnumerable().Any(r => r.Field<string>("Value") == "52");

    var condition2 = view.Cast<DataRowView>().Any(rv => rv.Row.Field<string>("Value") == "52");

    Console.WriteLine(String.Format("Result querying datatable: '{0}'. Result using dataview:'{1}'", condition1, condition2));
     Console.ReadLine();
}

列に実際に文字列を使用している場合は、空白を確認し、必要に応じてトリムを適用してください。

于 2013-06-21T09:10:32.033 に答える
1

代わりに、DataSet プロパティが関連付けられている DataViewManager オブジェクトを使用し、データセットには通常のデータセット機能がすべて含まれています。したがって、dataset.tables[index] オブジェクトをトラバースできます...

それが役に立てば幸い

dv.DataViewManager.DataSet.Tables[0].Rows[0][1]

ありがとう、サム

于 2014-12-18T21:50:37.167 に答える