我有一个DataTable,它有一个名为Name的列。
DataTable dt = new DataTable();
DataColumn dc = new DataColumn();
dc.DataType = System.Type.GetType("System.String");
dc.ColumnName = "Name";
dt.Columns.Add(dc);我正在尝试只选择具有TextBox中的内容的DataRows,但我不知道如何选择。这是我想要的。
dt.Select("string.Compare(Name.ToLower().Contains(" + textBox1.Text.ToLower() + ")");有没有办法通过Select来做到这一点/我应该尝试一下吗?
发布于 2011-07-03 02:07:46
您可以使用LINQ to Dataset来执行此操作(通过AsEnumerable):
var results = dt.AsEnumerable().Where(dr => dr.Field<string>("Name").ToLower().Contains(textBox1.Text.ToLower()));发布于 2011-07-03 02:19:27
我不相信你正在使用的表达式的语法是有效的。这里有valid syntax here的描述。要对dt.Select执行contains风格的操作,可以使用LIKE运算符。此外,您还需要将区分大小写设置为false:
dt.CaseSensitive = false;
dt.Select("Name LIKE '%" + textBox1.Text + "%'");发布于 2017-01-14 16:19:51
您可以使用select
dt.select("Name = '"+textbox.text.trim()+"'");如果您想选择类似于textbaox的内容,那么您可以选择
dt.select("Name LIKE '%"+textbox.text.trim()+"%'");https://stackoverflow.com/questions/6558669
复制相似问题