.NetのDataViewとDataTableの違いは何ですか?私が理解している限り、DataViewはDataTableの単なる誤った表示です。 DataViewはいつ使用する必要がありますか?
前もって感謝します。
クエリを実行し、コントロールのデータのサブセットを表示する場合、DataViewが役立ちます。これはほんの一例です。 DataViewのMSDNの例 を見てください。DataTablesでDataViewsを使用する場所を説明しています...
DataTable
データテーブルは、単一のデータベーステーブルのメモリ内表現です。同じように列と行があると考えることができます。 DataTableは、ADO.NETライブラリの中心的なオブジェクトです。 DataTableを使用する他のオブジェクトには、DataSetとDataViewが含まれます。
詳細については、MSDN The DataTable class を参照してください。
DataView
データビューはデータテーブルのビューで、SQLビューに少し似ています。多くの場合、Windowsフォームコントロールにバインドするために、行をフィルタリングおよびソートできます。
さらに、DataViewをカスタマイズして、DataTableのデータのサブセットを表示できます。この機能により、2つのコントロールを同じDataTableにバインドし、異なるバージョンのデータを表示できます。たとえば、1つのコントロールをテーブル内のすべての行を表示するDataViewにバインドし、2番目のコントロールをDataTableから削除された行のみを表示するように構成できます。 DataTableには、テーブルのデフォルトのDataViewを返すDefaultViewプロパティもあります。
詳細については、MSDN DataViewクラス を参照してください。
DataTable
は単一のテーブル表現を意味しますが、DataSet
は複数のテーブル表現です。
つまり、DataTable
を使用すると、データベースから1つのテーブルしか保持できません。DataSet
を使用すると、一度に複数のテーブルを保持できます...
DataView
は、DataSet
...で使用可能なデータのビューを意味します(DataSet
で使用可能なテーブルのビュー)。レコードの検索、ソート、レコードのフィルターに使用されます... DataView
を使用します。
dataViewでDataTableをフィルタリングできます。たとえば、すべてのパラメーターを含むDataSetがある場合、DataViewでパラメーターの1つを見つけることができます。
DataView dv = new DataView();
dv = new DataView(parameterDs.Tables[0], "ParameterName = '@" + parameter.Key + "'", string.Empty, DataViewRowState.CurrentRows);