我有如下的数据表。
Name ID
X 101
Y 101101
Z 101101101
A 101101101101
B 101102
C 103101
D 103102
我想选择id以101开头的所有名称。
我怎样才能在c#datatable中做到这一点。任何人都可以建议我......
答案 0 :(得分:2)
使用LINQ
并假设 ID 列为string
类型:
DataTable resultsTable = dt.AsEnumerable()
.Where(r => r.Field<string>("ID").StartsWith("101"))
.CopyToDataTable();
如果 ID 列为int
,请输入:
DataTable resultsTable = dt.AsEnumerable()
.Where(r => r.Field<int>("ID").ToString().StartsWith("101"))
.CopyToDataTable();
如果您只需要名单(非数据表):
var results = dt.AsEnumerable()
.Where(r => r.Field<int>("ID").ToString().StartsWith("101"))
.Select(r => r.Field<string>("Name"));
答案 1 :(得分:1)
获取id以101开头的所有名称,
您可以使用Datarow过滤数据
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Name", typeof(string)));
dt.Columns.Add(new DataColumn("ID", typeof(string)));
dt.Rows.Add("ARUN", "101");
dt.Rows.Add("Prakash","1011");
dt.Rows.Add("Sanjay", "00101");
dt.Rows.Add("Rahul", "00000");
DataRow[] dr = dt.Select("ID like '101*'");