[英]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上找到有關表達式語法的更多信息。 相同的語法適用於DataTable的Select函數。
在這些LINQ時代,查詢數據集/表非常簡單。 例如,如果您有一個Client表,索引范圍為1到100 ,則以下代碼將返回索引為31到40的客戶端。
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.