无法对 System.Int32 和 System.String 执行'Like'操作。筛选数据网格时出错



我想过滤我的数据网格,这是我的代码

 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()

相关内容

最新更新