DataView Kelas

Definisi

Mewakili tampilan DataTable yang dapat dikustomisasi data untuk pengurutan, pemfilteran, pencarian, pengeditan, dan navigasi. DataView tidak menyimpan data, tetapi sebaliknya mewakili tampilan terhubung dari yang sesuaiDataTable. Perubahan pada DataViewdata akan memengaruhi DataTable. Perubahan pada DataTabledata akan memengaruhi semua DataViewyang terkait dengannya.

public ref class DataView : System::ComponentModel::MarshalByValueComponent, System::Collections::IList, System::ComponentModel::IBindingListView, System::ComponentModel::ISupportInitialize, System::ComponentModel::ISupportInitializeNotification, System::ComponentModel::ITypedList
public ref class DataView : System::ComponentModel::MarshalByValueComponent, System::Collections::IList, System::ComponentModel::IBindingList, System::ComponentModel::ISupportInitialize, System::ComponentModel::ITypedList
public ref class DataView : System::ComponentModel::MarshalByValueComponent, System::Collections::IList, System::ComponentModel::IBindingListView, System::ComponentModel::ISupportInitializeNotification, System::ComponentModel::ITypedList
public ref class DataView : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IBindingListView, System::ComponentModel::ISupportInitializeNotification, System::ComponentModel::ITypedList
public class DataView : System.ComponentModel.MarshalByValueComponent, System.Collections.IList, System.ComponentModel.IBindingListView, System.ComponentModel.ISupportInitialize, System.ComponentModel.ISupportInitializeNotification, System.ComponentModel.ITypedList
public class DataView : System.ComponentModel.MarshalByValueComponent, System.Collections.IList, System.ComponentModel.IBindingList, System.ComponentModel.ISupportInitialize, System.ComponentModel.ITypedList
public class DataView : System.ComponentModel.MarshalByValueComponent, System.Collections.IList, System.ComponentModel.IBindingListView, System.ComponentModel.ISupportInitializeNotification, System.ComponentModel.ITypedList
public class DataView : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IBindingListView, System.ComponentModel.ISupportInitializeNotification, System.ComponentModel.ITypedList
type DataView = class
    inherit MarshalByValueComponent
    interface ICollection
    interface IEnumerable
    interface IList
    interface IBindingList
    interface IBindingListView
    interface ISupportInitialize
    interface ISupportInitializeNotification
    interface ITypedList
type DataView = class
    inherit MarshalByValueComponent
    interface IBindingList
    interface IList
    interface ICollection
    interface IEnumerable
    interface ITypedList
    interface ISupportInitialize
type DataView = class
    inherit MarshalByValueComponent
    interface IBindingListView
    interface IBindingList
    interface IList
    interface ICollection
    interface IEnumerable
    interface ITypedList
    interface ISupportInitializeNotification
    interface ISupportInitialize
Public Class DataView
Inherits MarshalByValueComponent
Implements IBindingListView, IList, ISupportInitialize, ISupportInitializeNotification, ITypedList
Public Class DataView
Inherits MarshalByValueComponent
Implements IBindingList, IList, ISupportInitialize, ITypedList
Public Class DataView
Inherits MarshalByValueComponent
Implements IBindingListView, IList, ISupportInitializeNotification, ITypedList
Public Class DataView
Inherits MarshalByValueComponent
Implements IBindingListView, ISupportInitializeNotification, ITypedList
Warisan
Penerapan

Contoh

Contoh berikut membuat satu DataTable dengan satu kolom dan lima baris. Dua DataView objek dibuat dan RowStateFilter diatur pada masing-masing untuk menampilkan tampilan data tabel yang berbeda. Nilai kemudian dicetak.

using System;
using System.Xml;
using System.Data;
using System.Data.Common;
using System.Windows.Forms;

public class Form1: Form
{
    protected DataSet DataSet1;
    protected DataGrid dataGrid1;

    private void DemonstrateDataView()
    {
        // Create one DataTable with one column.
        DataTable table = new DataTable("table");
        DataColumn colItem = new DataColumn("item",
            Type.GetType("System.String"));
        table.Columns.Add(colItem);

        // Add five items.
        DataRow NewRow;
        for(int i = 0; i <5; i++)
        {
            NewRow = table.NewRow();
            NewRow["item"] = "Item " + i;
            table.Rows.Add(NewRow);
        }
        // Change the values in the table.
        table.AcceptChanges();
        table.Rows[0]["item"]="cat";
        table.Rows[1]["item"] = "dog";

        // Create two DataView objects with the same table.
        DataView firstView = new DataView(table);
        DataView secondView = new DataView(table);

        // Print current table values.
        PrintTableOrView(table,"Current Values in Table");

        // Set first DataView to show only modified
        // versions of original rows.
        firstView.RowStateFilter=DataViewRowState.ModifiedOriginal;

        // Print values.
        PrintTableOrView(firstView,"First DataView: ModifiedOriginal");

        // Add one New row to the second view.
        DataRowView rowView;
        rowView=secondView.AddNew();
        rowView["item"] = "fish";

        // Set second DataView to show modified versions of
        // current rows, or New rows.
        secondView.RowStateFilter=DataViewRowState.ModifiedCurrent
            | DataViewRowState.Added;
        // Print modified and Added rows.
        PrintTableOrView(secondView,
            "Second DataView: ModifiedCurrent | Added");
    }

    private void PrintTableOrView(DataTable table, string label)
    {
        // This function prints values in the table or DataView.
        Console.WriteLine("\n" + label);
        for(int i = 0; i<table.Rows.Count;i++)
        {
            Console.WriteLine(table.Rows[i]["item"]);
        }
        Console.WriteLine();
    }

    private void PrintTableOrView(DataView view, string label)
    {

        // This overload prints values in the table or DataView.
        Console.WriteLine("\n" + label);
        for(int i = 0; i<view.Count;i++)
        {
            Console.WriteLine(view[i]["item"]);
        }
        Console.WriteLine();
    }
}
Private Sub DemonstrateDataView()
    ' Create one DataTable with one column.
    Dim table As New DataTable("table")
    Dim colItem As New DataColumn("item", _
        Type.GetType("System.String"))
    table.Columns.Add(colItem)

    ' Add five items.
    Dim NewRow As DataRow
    Dim i As Integer
    For i = 0 To 4
    
    NewRow = table.NewRow()
    NewRow("item") = "Item " & i
    table.Rows.Add(NewRow)
    Next
    table.AcceptChanges()

    ' Create two DataView objects with the same table.
    Dim firstView As New DataView(table)
    Dim secondView As New DataView(table)
    
    ' Change the values in the table.
    table.Rows(0)("item") = "cat"
    table.Rows(1)("item") = "dog"
    
    ' Print current table values.
    PrintTableOrView(table, "Current Values in Table")
        
    ' Set first DataView to show only modified versions of original rows.
    firstView.RowStateFilter = DataViewRowState.ModifiedOriginal

    ' Print values.    
    PrintTableOrView(firstView, "First DataView: ModifiedOriginal")

    ' Add one New row to the second view.
    Dim rowView As DataRowView
    rowView = secondView.AddNew()
    rowView("item") = "fish"
    ' Set second DataView to show modified versions of 
    ' current rows, or New rows.
    secondView.RowStateFilter = DataViewRowState.ModifiedCurrent _
        Or DataViewRowState.Added
    ' Print modified and Added rows.
    PrintTableOrView(secondView, _
        "Second DataView: ModifiedCurrent or Added")
End Sub
    
Overloads Private Sub PrintTableOrView( _
    ByVal view As DataView, ByVal label As String)
    Console.WriteLine(label)
    Dim i As Integer
    For i = 0 To view.count - 1
    
    Console.WriteLine(view(i)("item"))
    Next
    Console.WriteLine()
End Sub
    
Overloads Private Sub PrintTableOrView( _
    ByVal table As DataTable, ByVal label As String)
    Console.WriteLine(label)
    Dim i As Integer
    For i = 0 To table.Rows.Count - 1
    Console.WriteLine(table.Rows(i)("item"))
    Next
    Console.WriteLine()
End Sub

Contoh berikut membuat pesanan online yang DataView diurutkan secara total karena kueri LINQ ke Himpunan Data:

DataTable orders = dataSet.Tables["SalesOrderHeader"];

EnumerableRowCollection<DataRow> query =
    from order in orders.AsEnumerable()
    where order.Field<bool>("OnlineOrderFlag") == true
    orderby order.Field<decimal>("TotalDue")
    select order;

DataView view = query.AsDataView();

bindingSource1.DataSource = view;
Dim orders As DataTable = dataSet.Tables("SalesOrderHeader")

Dim query = _
    From order In orders.AsEnumerable() _
    Where order.Field(Of Boolean)("OnlineOrderFlag") = True _
    Order By order.Field(Of Decimal)("TotalDue") _
    Select order

Dim view As DataView = query.AsDataView()
bindingSource1.DataSource = view

Keterangan

Fungsi utama adalah DataView memungkinkan pengikatan data pada Formulir Windows dan Forms Web.

Selain itu, DataView dapat disesuaikan untuk menyajikan subset data dari DataTable. Kemampuan ini memungkinkan Anda memiliki dua kontrol yang terikat ke yang sama DataTable, tetapi yang menunjukkan versi data yang berbeda. Misalnya, satu kontrol mungkin terikat ke DataView yang memperlihatkan semua baris dalam tabel, dan satu detik mungkin dikonfigurasi untuk hanya menampilkan baris yang telah dihapus dari DataTable. Properti DataTable ini juga memiliki DefaultView properti . Ini mengembalikan default DataView untuk tabel. Misalnya, jika Anda ingin membuat tampilan kustom pada tabel, atur RowFilter pada yang DataView dikembalikan oleh DefaultView.

Untuk membuat tampilan data yang difilter dan diurutkan, atur RowFilter properti dan Sort . Kemudian, gunakan Item[] properti untuk mengembalikan satu DataRowView.

Anda juga dapat menambahkan dan menghapus dari kumpulan baris menggunakan AddNew metode dan Delete . Saat Anda menggunakan metode tersebut RowStateFilter , properti dapat mengatur untuk menentukan bahwa hanya baris yang dihapus atau baris baru yang ditampilkan oleh DataView.

Catatan

Jika Anda tidak secara eksplisit menentukan kriteria pengurutan untuk DataView, objek di diurutkan DataView berdasarkan indeks DataView yang sesuai DataRow di DataTable.RowsDataRowCollection.DataRowView

LINQ ke Himpunan Data memungkinkan pengembang untuk membuat kueri yang DataSet kompleks dan kuat melalui dengan menggunakan LINQ. Kueri LINQ ke Himpunan DataRow Data mengembalikan enumerasi objek, namun, yang tidak mudah digunakan dalam skenario pengikatan. DataView dapat dibuat dari kueri LINQ ke Himpunan Data dan mengambil karakteristik pemfilteran dan pengurutan kueri tersebut. LINQ ke DataSet memperluas fungsionalitas dari DataView dengan menyediakan pengurutan dan pemfilteran berbasis ekspresi LINQ, yang memungkinkan operasi penyortiran serta pemfilteran yang jauh lebih kompleks dan kuat daripada penyortiran dan pemfilteran berbasis string. Lihat Pengikatan Data dan LINQ ke Himpunan Data untuk informasi selengkapnya.

Konstruktor

DataView()

Menginisialisasi instans baru kelas DataView.

DataView(DataTable)

Menginisialisasi instans DataView baru kelas dengan yang ditentukan DataTable.

DataView(DataTable, String, String, DataViewRowState)

Menginisialisasi instans DataView baru kelas dengan , , RowFilter, Sortdan DataViewRowStateyang ditentukanDataTable.

Properti

AllowDelete

Mendapatkan atau menetapkan nilai yang menunjukkan apakah penghapusan diizinkan.

AllowEdit

Mendapatkan atau menetapkan nilai yang menunjukkan apakah pengeditan diizinkan.

AllowNew

Mendapatkan atau menetapkan nilai yang menunjukkan apakah baris baru dapat ditambahkan dengan menggunakan AddNew() metode .

ApplyDefaultSort

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan menggunakan pengurutan default. Pengurutan default adalah (naik) oleh semua kunci primer seperti yang ditentukan oleh PrimaryKey.

Container

Mendapatkan kontainer untuk komponen.

(Diperoleh dari MarshalByValueComponent)
Count

Mendapatkan jumlah rekaman setelah DataViewRowFilter dan RowStateFilter telah diterapkan.

DataViewManager

Mendapatkan yang DataViewManager terkait dengan tampilan ini.

DesignMode

Mendapatkan nilai yang menunjukkan apakah komponen saat ini dalam mode desain.

(Diperoleh dari MarshalByValueComponent)
Events

Mendapatkan daftar penanganan aktivitas yang dilampirkan ke komponen ini.

(Diperoleh dari MarshalByValueComponent)
IsInitialized

Mendapatkan nilai yang menunjukkan apakah komponen diinisialisasi.

IsOpen

Mendapatkan nilai yang menunjukkan apakah sumber data saat ini terbuka dan memproyeksikan tampilan data pada DataTable.

Item[Int32]

Mendapatkan baris data dari tabel tertentu.

RowFilter

Mendapatkan atau mengatur ekspresi yang digunakan untuk memfilter baris mana yang ditampilkan di DataView.

RowStateFilter

Mendapatkan atau mengatur filter status baris yang digunakan dalam DataView.

Site

Mendapatkan atau mengatur situs komponen.

(Diperoleh dari MarshalByValueComponent)
Sort

Mendapatkan atau mengatur kolom atau kolom pengurutan, dan mengurutkan urutan untuk DataView.

Table

Mendapatkan atau mengatur sumber DataTable.

Metode

AddNew()

Menambahkan baris baru ke DataView.

BeginInit()

Memulai inisialisasi DataView yang digunakan pada formulir atau digunakan oleh komponen lain. Inisialisasi terjadi pada runtime.

Close()

DataViewMenutup .

ColumnCollectionChanged(Object, CollectionChangeEventArgs)

Terjadi setelah DataColumnCollection berhasil diubah.

CopyTo(Array, Int32)

Menyalin item ke dalam array. Hanya untuk Antarmuka Forms Web.

Delete(Int32)

Menghapus baris pada indeks yang ditentukan.

Dispose()

Merilis semua sumber daya yang MarshalByValueComponentdigunakan oleh .

(Diperoleh dari MarshalByValueComponent)
Dispose(Boolean)

Membuang sumber daya (selain memori) yang DataView digunakan oleh objek .

EndInit()

Mengakhiri inisialisasi DataView yang digunakan pada formulir atau digunakan oleh komponen lain. Inisialisasi terjadi pada runtime.

Equals(DataView)

Menentukan apakah instans yang ditentukan DataView dianggap sama.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Find(Object)

Menemukan baris di DataView menurut nilai kunci pengurutan yang ditentukan.

Find(Object[])

Menemukan baris di DataView menurut nilai kunci pengurutan yang ditentukan.

FindRows(Object)

Mengembalikan array DataRowView objek yang kolomnya cocok dengan nilai kunci pengurutan yang ditentukan.

FindRows(Object[])

Mengembalikan array DataRowView objek yang kolomnya cocok dengan nilai kunci pengurutan yang ditentukan.

GetEnumerator()

Mendapatkan enumerator untuk ini DataView.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetService(Type)

Mendapatkan pelaksana dari IServiceProvider.

(Diperoleh dari MarshalByValueComponent)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
IndexListChanged(Object, ListChangedEventArgs)

Terjadi setelah DataView berhasil diubah.

MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
OnListChanged(ListChangedEventArgs)

Memunculkan kejadian ListChanged.

Open()

DataViewMembuka .

Reset()

Dicadangkan untuk penggunaan internal saja.

ToString()

Mengembalikan yang String berisi nama Component, jika ada. Metode ini tidak boleh ditimpa.

(Diperoleh dari MarshalByValueComponent)
ToTable()

Membuat dan mengembalikan baru DataTable berdasarkan baris di yang sudah ada DataView.

ToTable(Boolean, String[])

Membuat dan mengembalikan baru DataTable berdasarkan baris di yang sudah ada DataView.

ToTable(String)

Membuat dan mengembalikan baru DataTable berdasarkan baris di yang sudah ada DataView.

ToTable(String, Boolean, String[])

Membuat dan mengembalikan baru DataTable berdasarkan baris di yang sudah ada DataView.

UpdateIndex()

Dicadangkan untuk penggunaan internal saja.

UpdateIndex(Boolean)

Dicadangkan untuk penggunaan internal saja.

Acara

Disposed

Menambahkan penanganan aktivitas untuk mendengarkan Disposed peristiwa pada komponen.

(Diperoleh dari MarshalByValueComponent)
Initialized

Terjadi ketika inisialisasi DataView selesai.

ListChanged

Terjadi ketika daftar yang dikelola oleh DataView perubahan.

Implementasi Antarmuka Eksplisit

IBindingList.AddIndex(PropertyDescriptor)

Untuk deskripsi anggota ini, lihat AddIndex(PropertyDescriptor).

IBindingList.AddNew()

Untuk deskripsi anggota ini, lihat AddNew().

IBindingList.AllowEdit

Untuk deskripsi anggota ini, lihat AllowEdit.

IBindingList.AllowNew

Untuk deskripsi anggota ini, lihat AllowNew.

IBindingList.AllowRemove

Untuk deskripsi anggota ini, lihat AllowRemove.

IBindingList.ApplySort(PropertyDescriptor, ListSortDirection)

Untuk deskripsi anggota ini, lihat ApplySort(PropertyDescriptor, ListSortDirection).

IBindingList.Find(PropertyDescriptor, Object)

Untuk deskripsi anggota ini, lihat Find(PropertyDescriptor, Object).

IBindingList.IsSorted

Untuk deskripsi anggota ini, lihat IsSorted.

IBindingList.RemoveIndex(PropertyDescriptor)

Untuk deskripsi anggota ini, lihat RemoveIndex(PropertyDescriptor).

IBindingList.RemoveSort()

Untuk deskripsi anggota ini, lihat RemoveSort().

IBindingList.SortDirection

Untuk deskripsi anggota ini, lihat SortDirection.

IBindingList.SortProperty

Untuk deskripsi anggota ini, lihat SortProperty.

IBindingList.SupportsChangeNotification

Untuk deskripsi anggota ini, lihat SupportsChangeNotification.

IBindingList.SupportsSearching

Untuk deskripsi anggota ini, lihat SupportsSearching.

IBindingList.SupportsSorting

Untuk deskripsi anggota ini, lihat SupportsSorting.

IBindingListView.ApplySort(ListSortDescriptionCollection)

Untuk deskripsi anggota ini, lihat ApplySort(ListSortDescriptionCollection).

IBindingListView.Filter

Untuk deskripsi anggota ini, lihat Filter.

IBindingListView.RemoveFilter()

Untuk deskripsi anggota ini, lihat RemoveFilter().

IBindingListView.SortDescriptions

Untuk deskripsi anggota ini, lihat SortDescriptions.

IBindingListView.SupportsAdvancedSorting

Untuk deskripsi anggota ini, lihat SupportsAdvancedSorting.

IBindingListView.SupportsFiltering

Untuk deskripsi anggota ini, lihat SupportsFiltering.

ICollection.IsSynchronized

Untuk deskripsi anggota ini, lihat IsSynchronized.

ICollection.SyncRoot

Untuk deskripsi anggota ini, lihat SyncRoot.

IList.Add(Object)

Untuk deskripsi anggota ini, lihat Add(Object).

IList.Clear()

Untuk deskripsi anggota ini, lihat Clear().

IList.Contains(Object)

Untuk deskripsi anggota ini, lihat Contains(Object).

IList.IndexOf(Object)

Untuk deskripsi anggota ini, lihat IndexOf(Object).

IList.Insert(Int32, Object)

Untuk deskripsi anggota ini, lihat Insert(Int32, Object).

IList.IsFixedSize

Untuk deskripsi anggota ini, lihat IsFixedSize.

IList.IsReadOnly

Untuk deskripsi anggota ini, lihat IsReadOnly.

IList.Item[Int32]

Untuk deskripsi anggota ini, lihat Item[Int32].

IList.Remove(Object)

Untuk deskripsi anggota ini, lihat Remove(Object).

IList.RemoveAt(Int32)

Untuk deskripsi anggota ini, lihat RemoveAt(Int32).

ITypedList.GetItemProperties(PropertyDescriptor[])

Untuk deskripsi anggota ini, lihat GetItemProperties(PropertyDescriptor[]).

ITypedList.GetListName(PropertyDescriptor[])

Untuk deskripsi anggota ini, lihat GetListName(PropertyDescriptor[]).

Metode Ekstensi

GetKeyedService<T>(IServiceProvider, Object)

Mendapatkan layanan jenis T dari IServiceProvider.

GetKeyedServices(IServiceProvider, Type, Object)

Mendapatkan enumerasi layanan jenis serviceType dari IServiceProvider.

GetKeyedServices<T>(IServiceProvider, Object)

Mendapatkan enumerasi layanan jenis T dari IServiceProvider.

GetRequiredKeyedService(IServiceProvider, Type, Object)

Mendapatkan layanan jenis serviceType dari IServiceProvider.

GetRequiredKeyedService<T>(IServiceProvider, Object)

Mendapatkan layanan jenis T dari IServiceProvider.

CreateAsyncScope(IServiceProvider)

Membuat baru AsyncServiceScope yang dapat digunakan untuk mengatasi layanan terlingkup.

CreateScope(IServiceProvider)

Membuat baru IServiceScope yang dapat digunakan untuk mengatasi layanan terlingkup.

GetRequiredService(IServiceProvider, Type)

Dapatkan layanan jenis serviceType dari IServiceProvider.

GetRequiredService<T>(IServiceProvider)

Dapatkan layanan jenis T dari IServiceProvider.

GetService<T>(IServiceProvider)

Dapatkan layanan jenis T dari IServiceProvider.

GetServices(IServiceProvider, Type)

Dapatkan enumerasi layanan jenis serviceType dari IServiceProvider.

GetServices<T>(IServiceProvider)

Dapatkan enumerasi layanan jenis T dari IServiceProvider.

GetFakeLogCollector(IServiceProvider)

Mendapatkan objek yang mengumpulkan rekaman log yang dikirim ke pencatat palsu.

GetFakeRedactionCollector(IServiceProvider)

Mendapatkan instans pengumpul redactor palsu dari kontainer injeksi dependensi.

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari IEnumerable ke jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis tertentu.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

Berlaku untuk

Keamanan Thread

Jenis ini aman untuk operasi baca multithreaded. Anda harus menyinkronkan operasi tulis apa pun.

Lihat juga