DataView.RowFilter Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur ekspresi yang digunakan untuk memfilter baris mana yang ditampilkan di DataView.
public:
virtual property System::String ^ RowFilter { System::String ^ get(); void set(System::String ^ value); };
public virtual string? RowFilter { get; set; }
public virtual string RowFilter { get; set; }
[System.Data.DataSysDescription("DataViewRowFilterDescr")]
public virtual string RowFilter { get; set; }
member this.RowFilter : string with get, set
[<System.Data.DataSysDescription("DataViewRowFilterDescr")>]
member this.RowFilter : string with get, set
Public Overridable Property RowFilter As String
Nilai Properti
String yang menentukan bagaimana baris akan difilter.
- Atribut
Contoh
Contoh berikut membuat DataView dan mengatur propertinya RowFilter .
using System;
using System.Data;
using System.Windows.Forms;
public class Form1 : Form {
protected TextBox Text1;
protected DataSet DataSet1;
public static void Main() {
DemostrateDataView();
}
private static void DemostrateDataView() {
// Create a DataTable with one column
DataTable dt = new DataTable("MyTable");
DataColumn column = new DataColumn("Col", typeof(int));
dt.Columns.Add(column);
// Add 5 rows on Added state
for (int i = 0; i < 5; i++) {
DataRow row = dt.NewRow();
row["Col"] = i;
dt.Rows.Add(row);
}
// Add 5 rows on Unchanged state
for (int i = 5; i < 10; i++) {
DataRow row = dt.NewRow();
row["Col"] = i;
dt.Rows.Add(row);
// Calling AcceptChanges will make the DataRowVersion change from Added to Unchanged in this case
row.AcceptChanges();
}
// Create a DataView
DataView dv = new DataView(dt);
Console.WriteLine("Print unsorted, unfiltered DataView");
PrintDataView(dv);
// Changing the Sort order to descending
dv.Sort = "Col DESC";
Console.WriteLine("Print sorted DataView. Sort = 'Col DESC'");
PrintDataView(dv);
// Filter by an expression. Filter all rows where column 'Col' have values greater or equal than 3
dv.RowFilter = "Col < 3";
Console.WriteLine("Print sorted and Filtered DataView by RowFilter. RowFilter = 'Col > 3'");
PrintDataView(dv);
// Removing Sort and RpwFilter to ilustrate RowStateFilter. DataView should contain all 10 rows back in the original order
dv.Sort = String.Empty;
dv.RowFilter = String.Empty;
// Show only Unchanged rows or last 5 rows
dv.RowStateFilter = DataViewRowState.Unchanged;
Console.WriteLine("Print Filtered DataView by RowState. RowStateFilter = DataViewRowState.Unchanged");
PrintDataView(dv);
}
private static void PrintDataView(DataView dv) {
// Printing first DataRowView to demo that the row in the first index of the DataView changes depending on sort and filters
Console.WriteLine("First DataRowView value is '{0}'", dv[0]["Col"]);
// Printing all DataRowViews
foreach (DataRowView drv in dv) {
Console.WriteLine("\t {0}", drv["Col"]);
}
}
}
Imports System.Data
Imports System.Windows.Forms
Public Class Form1
Inherits Form
Protected Text1 As TextBox
Protected DataSet1 As DataSet
Public Shared Sub Main()
DemostrateDataView()
End Sub
Private Shared Sub DemostrateDataView()
' Create a DataTable with one column
Dim dt As New DataTable("MyTable")
Dim column As New DataColumn("Col", GetType(Integer))
dt.Columns.Add(column)
' Add 5 rows on Added state
For i As Integer = 0 To 4
Dim row As DataRow = dt.NewRow()
row("Col") = i
dt.Rows.Add(row)
Next
' Add 5 rows on Unchanged state
For i As Integer = 5 To 9
Dim row As DataRow = dt.NewRow()
row("Col") = i
dt.Rows.Add(row)
' Calling AcceptChanges will make the DataRowVersion change from Added to Unchanged in this case
row.AcceptChanges()
Next
' Create a DataView
Dim dv As New DataView(dt)
Console.WriteLine("Print unsorted, unfiltered DataView")
PrintDataView(dv)
' Changing the Sort order to descending
dv.Sort = "Col DESC"
Console.WriteLine("Print sorted DataView. Sort = 'Col DESC'")
PrintDataView(dv)
' Filter by an expression. Filter all rows where column 'Col' have values greater or equal than 3
dv.RowFilter = "Col < 3"
Console.WriteLine("Print sorted and Filtered DataView by RowFilter. RowFilter = 'Col > 3'")
PrintDataView(dv)
' Removing Sort and RpwFilter to ilustrate RowStateFilter. DataView should contain all 10 rows back in the original order
dv.Sort = [String].Empty
dv.RowFilter = [String].Empty
' Show only Unchanged rows or last 5 rows
dv.RowStateFilter = DataViewRowState.Unchanged
Console.WriteLine("Print Filtered DataView by RowState. RowStateFilter = DataViewRowState.Unchanged")
PrintDataView(dv)
End Sub
Private Shared Sub PrintDataView(dv As DataView)
' Printing first DataRowView to demo that the row in the first index of the DataView changes depending on sort and filters
Console.WriteLine("First DataRowView value is '{0}'", dv(0)("Col"))
' Printing all DataRowViews
For Each drv As DataRowView In dv
Console.WriteLine(vbTab & " {0}", drv("Col"))
Next
End Sub
End Class
Keterangan
Untuk membentuk RowFilter nilai, tentukan nama kolom diikuti oleh operator dan nilai untuk difilter. Nilai harus dalam tanda kutip. Contohnya:
"LastName = 'Smith'"
Expression Lihat properti DataColumn kelas untuk informasi selengkapnya.
Untuk mengembalikan hanya kolom dengan nilai null, gunakan ekspresi berikut:
"Isnull(Col1,'Null Column') = 'Null Column'"