簡體   English   中英

dataRowFilter有什么作用?

[英]What does the dataRowFilter do?

dataRowFilter有什么作用? 這僅僅是行的條件嗎? 因為在行過濾器中添加選擇不起作用

代碼是:

Dim strExpr = "ClientID>(select count(*) from Client)-10" (to select the last 10 records);

Dim dv = ds.Tables(0).DefaultView;

dv.RowFilter = strExpr;
Dim newDS = New DataSet();
Dim newDT = dv.ToTable();
newDS.Tables.Add(newDT);

但是代碼不起作用,如果我將strExpr="ClientID>3"放入代碼中,那么RowFilter僅是一個條件嗎? 因為我不能在其中放選擇。

DataRowFilter屬性用於過濾在DataView中查看的行。 該字符串在內部解析為DataExpressions 通過查看DataColumn類的Expression屬性,可以在MSDN上找到有關表達式語法的更多信息。 相同的語法適用於DataTableSelect函數。

在這些LINQ時代,查詢數據集/表非常簡單。 例如,如果您有一個Client表,索引范圍為1100 ,則以下代碼將返回索引為3140的客戶端。

Dim table As DataTable = (
    From row As DataRow
    In ds.Tables("Client")
    Let clientId As Int32 = row.Field(Of Int32)("ClientID")
    Where clientId > 30
    Order By clientId Ascending
    Select row
).Take(10).CopyToDataTable()

PS:相同的查詢實際上可以寫成一個單行:

Dim table As DataTable = (From row As DataRow In ds.Tables("Client") Let clientId As Int32 = row.Field(Of Int32)("ClientID") Where clientId > 30 Order By clientId Ascending Select row).Take(10).CopyToDataTable()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM