2011-05-09 107 views
0

專家,LINQ查詢的過濾結果:

我有兩列的數據表:

1)一種是小數
2)一個是字符串

我寫我的過濾器的查詢,如:

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

這裏​​是DataTable中有列

ACM_ACCOUNT_CODE十進制類型
ACM_ACCOUNT_DESC字符串類型。

使用像查詢過濾器。

但它不工作

+3

它是如何「不工作」? – 2011-05-09 13:20:16

回答

2

您正在嘗試使用ACM_ACCOUNT_CODE作爲字符串場 - 但你說這是一個小數場。

目前尚不清楚爲什麼您希望小數位字段包含與描述字段相同的值。如果你真的這個,你可以使用:

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

...但我猜你應該重新考慮一下查詢嘗試做的。

+0

其實我從數據庫填充數據後,所有的過濾都是從datable完成,沒有命中數據庫。 – 2011-05-09 13:33:01

+1

@Dinesh:是的,我正在談論你的* LINQ *查詢。 – 2011-05-09 13:36:29