2012-09-13 39 views
1

我有一個DataSet,其中有一列叫做PNamePCodePDesc。有反正,我可以根據查詢類似使用LIKE和ORQ使用LINQ查詢數據集使用C#

gridview.DataSource = Get me everything where PName LIKE 'somevalue' 
         OR PCode LIKE 'somevalue' 
         OR PDesc LIKE 'somevalue' 

設置我的數據源我試圖找到有關使用LINQ,但我沒有看到任何與OR的,這是可能的?我會很感激任何指針/幫助。

回答

1

你可以嘗試一下:

gridview.DataSource = from d in DataSetVar.Tables[0].AsEnumerable() 
        where d.Field<string>("PName").IndexOf("stringToFind1") >= 0 || 
        d.Field<string>("PCode ").IndexOf("stringToFind2") >= 0 || 
        d.Field<string>("PDesc").IndexOf("stringToFind3") >= 0 
        select d; 

此外,AsEnumerable是System.Data.DataSetExtensions庫的一部分。

1

您可以在Where子句中使用邏輯OR運算符(||)。這裏沒有一個LIKE功能,但你可以使用string功能BeginsWithEndsWith,或Contains完成類似的東西(這取決於你如何使用等):

where ("somevalue".Contains(PName) || 
     "somevalue".Contains(PCode) || 
     "somevalue".Contains(PDesc)) 
+0

PName,PCode和PDesc是列,somevalue是值..所以我會傳遞包含列的名稱? – user710502