我想过滤我的数据网格,这是我的代码
dtSearch = dtRawMaterials.Select("RawMaterial_ID like '%" + txtSearchID.Text + "%'").CopyToDataTable
但是当我在文本框中输入 ID 并单击搜索按钮时,会出现以下错误,突出显示此代码行
检查您是否DataTable
包含列RawMaterial_ID
如果包含,
则:对我来说,下一行代码工作正常:
Dim dtSearch As DataTable
dtSearch = dtRawMaterials.Select(String.Format("RawMaterial_ID LIKE '%{0}%'", txtSearchID.Text)).CopyToDataTable()
但您可以尝试另一种方法 - LINQ:
Dim dtSearch As DataTable
dtSearch = dtRawMaterials.AsEnumerable().Where(Function(dr) dr.Field(Of String)("RawMaterial_ID").Contains(txtSearchID.Text)).CopyToDataTable()
或多行版本
Dim dtSearch As DataTable
dtSearch = (From dr As DataRow in dtRawMaterials.AsEnumerable()
Where dr.Field(of String)("RawMaterial_ID").Contains(txtSearchID.Text)).CopyToDataTable()