Możesz użyć Linq
do wysłania zapytania do datatable lub do widoku danych. Na przykład, zakładając, że kolumna jest typu ciąg:
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");
Jeśli kolumna był liczbą całkowitą, wystarczy zmienić Field<string>
do Field<int>
i porównać z liczbą całkowitą, a nie ciągiem
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);
przykładowej aplikacji za pomocą kolumna ciąg:
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();
}
Jeśli naprawdę używasz ciągu znaków do kolumny, sprawdź białe spacje i zastosuj przycięcie, jeśli to konieczne.
szukasz somthing jak ta http://msdn.microsoft.com/en-us/library/yth8t382%28v=vs.90%29.aspx? – Karthik