DataView クラスとは? わかりやすく解説

DataView クラス

並べ替えフィルタ処理検索編集、および移動実行できるデータ連結可能なカスタマイズされた DataTable のビュー表します

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Class DataView
    Inherits MarshalByValueComponent
    Implements IBindingListView, IBindingList, IList, ICollection,
 _
    IEnumerable, ITypedList, ISupportInitializeNotification, ISupportInitialize
public class DataView : MarshalByValueComponent,
 IBindingListView, IBindingList, IList, 
    ICollection, IEnumerable, ITypedList, ISupportInitializeNotification, ISupportInitialize
public ref class DataView : public
 MarshalByValueComponent, IBindingListView, IBindingList, IList, 
    ICollection, IEnumerable, ITypedList, ISupportInitializeNotification, ISupportInitialize
public class DataView extends MarshalByValueComponent
 implements IBindingListView, IBindingList, 
    IList, ICollection, IEnumerable, ITypedList, ISupportInitializeNotification,
 
    ISupportInitialize
public class DataView extends
 MarshalByValueComponent implements IBindingListView, IBindingList, 
    IList, ICollection, IEnumerable, ITypedList, ISupportInitializeNotification,
 
    ISupportInitialize
解説解説

DataView主な機能は、Windows フォームWeb フォーム両方データ連結できるようにすることです。

DataViewカスタマイズして、DataTable からデータサブセット表示することもできます。この機能使用すると、同じ DataTable連結されていて、異なるバージョンデータ表示できる 2 つコントロール使用できます。たとえば、一方コントロールテーブル内のすべての行が表示される DataView連結し他方コントロールDataTable から削除された行だけを表示するよう構成できますDataTable には DefaultView プロパティ含まれています。これは、テーブル既定DataView返します。たとえば、テーブルカスタム ビュー作成する場合は、DefaultView によって返されDataView に対して RowFilter を設定します

フィルタ処理され並べ替えられたデータビュー作成するには、RowFilter プロパティSort プロパティ設定します次にItem プロパティ使用して単一の DataRowView を返します

AddNew メソッドDelete メソッド使用する方法でも、セットに行を追加したり、行を削除できます。これらのメソッド使用するときは、削除された行または新しい行だけが DataView表示されるように RowStateFilter プロパティ設定できます

使用例使用例

1 つの列と 5 つの行で単一DataTable作成する例を次に示します2 つDataView オブジェクト作成し、各オブジェクト異なテーブル データビュー表示するように RowStateFilter設定します次に、値を出力します

Private Sub DemonstrateDataView()
    ' Create one DataTable with one column.
    Dim table As DataTable = New
 DataTable("table")
    Dim colItem As DataColumn = 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 DataView = New
 DataView(table)
    Dim secondView As DataView = 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
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.Rows[0]["item"]="cat";
    table.Rows[1]["item"] = "dog";
    table.AcceptChanges();
 
    // 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" + 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("\table" + view[i]["item"]);
    }
    Console.WriteLine();
}
継承階層継承階層
System.Object
   System.ComponentModel.MarshalByValueComponent
    System.Data.DataView
スレッド セーフスレッド セーフ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DataView クラス」の関連用語

DataView クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataView クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS