LINQ查询过滤结果

时间:2011-05-09 13:18:27

标签: c# asp.net linq ado.net

专家,

我有一个包含两列的数据表:

1)一个是十进制
2)一个是String

我编写了我的过滤查询:

var iFilterResult = from c in dataTable1.AsEnumerable()
                                    where c.Field<string>("ACM_ACCOUNT_CODE").Contains(txtFindPrePaidExpenses.Text)
                                    && c.Field<string>("ACM_ACCOUNT_DESC").Contains(txtFindPrePaidExpenses.Text)
                                    select new
                                    {
                                        ACM_ACCOUNT_CODE = c.Field<string>("ACM_ACCOUNT_CODE"),
                                        ACM_ACCOUNT_DESC = c.Field<string>(" ACM_ACCOUNT_DESC")
                                    };
                gvSearchAccountGL.DataSource = iFilterResult;
                gvSearchAccountGL.DataBind();  "

此处dataTable1是数据表有列

小数类型的

ACM_ACCOUNT_CODE
字符串类型ACM_ACCOUNT_DESC

像查询一样使用过滤器。

但它不起作用

1 个答案:

答案 0 :(得分:2)

您尝试将ACM_ACCOUNT_CODE用作字符串字段 - 但您已经说过它是一个十进制字段。

目前尚不清楚为什么您希望十进制字段包含与描述字段相同的值。如果真的想要这个,你可以使用:

c.Field<decimal>("ACM_ACCOUNT_CODE")
 .ToString()
 .Contains(txtFindPrePaidExpenses.Text)

...但我怀疑你应该重新考虑查询试图做什么。