程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#的DataTable RowFilter過濾簡介

C#的DataTable RowFilter過濾簡介

編輯:關於C#

若要形成 RowFilter 值,請指定列的名稱,後跟一個運算符和一個要篩選的值。 該值必須用引號括起來。

//數據集中這列為null或者“”都過濾掉  
pds.Tables[0].DefaultView.RowFilter = "字段名='' or 字段名 is  null";  
//pds.Tables[0].DefaultView.RowFilter = "YHZHBH='00'";  
//綁定  
this.grid1.DataSource = pds.Tables[0].DefaultView;  
DataTable dt = DataView.ToTable();正確的。  
DataTable dt = DataView.Table; 獲取的是原來構造DataView的那個原表(沒有過濾之前的那個表)。

重點在於DataView是DateTable相關聯 的一個視圖而已,無論你如何使用RowFilter,DataView雖然被改變,但 DateTable數據不會減少,所以你不要幻想連續使用多個RowFilter 來得到疊加過濾的效果,一個DataView只支持一個RowFilter,你只能使用 not ,and 來連接多個過濾條件。

不過RowFilter不支持不等於(<>、!=、not like),不過如果只是單純的對確定的字符串操作,可以用in和not in,數據庫查詢語句則不行。

eg:

dt.DefaultView.RowFilter = "Name in ('zhang')";  
      
    dt.DefaultView.RowFilter = "Name not in ('zhang')";  
      
    dt.DefaultView.RowFilter = "Name in (select Name from StudentInfo)"; //錯誤

若要形成 RowFilter 值,請指定列的名稱,後跟一個運算符和一個要篩選的值。該值必須用引號括起來。

例如:

"LastName = 'Smith'"  

若要只返回那些具有空值的列,請使用以下表達式:

"Isnull(Col1,'Null Column') = 'Null Column'"

本文URL:http://www.bianceng.cn/Programming/csharp/201410/45574.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved