2011-09-03 59 views
-2

我有一個表memberaccounts2,其中單LINQ查詢子句

   member_id 
       member_name 
       membertransactionamount 
       memberaccount_id 

和我的實體名稱爲databasecontextsearch

,我使用foolwing方式

 var memberdetails = from members in databasecontextsearch.memberacconuts 
           select new 
           { 
            memberid = members.member_id 
            name = members.member_name 
            amount = members.membertransactionamount 
           }; 
         bindingsource1.datasource = memberdetails; 
         datagridview1.datasource = bindingsource1; 
結合這些細節數據網格視圖

我有一個文本框(txtsrch)和一個按鈕(搜索)

什麼時候有用戶在文本框(txtsrch)中輸入member_name,會根據該成員名稱使用datagrid視圖填充成員詳細信息。

當用戶在文本框(txtsrch)中輸入membertransactionamount時,將填充datagrid視圖成員詳細那些誰有membertransactionamount ..

是否有可能在這些條件中,如果單一使用LINQ to實體條件......

+0

答案是肯定的。你有什麼嘗試,沒有奏效? – svick

+0

我havenot嘗試過任何我正在尋找任何想法... –

+0

這裏沒有什麼特別的,只需添加一個地方,並在兩個布爾語句之間放置'&&' –

回答

2

可以「改造」這爲AND:

var memberdetails = from members in databasecontextsearch.memberacconuts 
        where 
        string.IsNullOrEmpty(name_param)?true:members.memebername==name_param 
        && 
        ((tran_param!=null?members.membertransactionamount==tran_param:true)) 
        select new 
        { 
         memberid = members.member_id 
         name = members.member_name 
         amount = members.membertransactionamount 
        }; 

說明:

如果name_param爲null或爲空,where條件的第一部分將計算爲true;如果沒有,將做比較。

如果tran_param爲空,那麼where的第二部分將評估爲true;如果沒有,將與membertransactionmaount進行比較。

+0

非常感謝lcarus –

+0

@lcarus我有一個小小的懷疑我在哪裏輸入txtsrch.text值在這個查詢.... –

+0

我可以用txtsrch.text值替換nam_param –