В чем разница между DataView и DataTable в .NET? Насколько я понимаю, DataView - это просто ложная презентация DataTable. Когда следует использовать DataView?
Спасибо заранее.
В чем разница между DataView и DataTable в .NET? Насколько я понимаю, DataView - это просто ложная презентация DataTable. Когда следует использовать DataView?
Спасибо заранее.
Если вы хотите запустить запрос и показать подмножество данных в элементе управления, DataView может вам помочь. Это один из примеров, посмотрите на пример MSDN для DataView, в котором объясняется, где вы должны использовать DataViews с DataTables...
DataTable
A datatable - это представление в памяти одной таблицы базы данных. Вы можете думать об этом как о столбцах и строках так же. DataTable является центральным объектом в библиотеке ADO.NET. Другие объекты, использующие DataTable, включают DataSet и DataView.
Посмотрите на MSDN класс DataTable для более подробной информации.
DataView
A dataview - это представление на datatable, немного похожее на представление sql. Он позволяет фильтровать и сортировать строки - часто для привязки к элементу управления формой окна.
Кроме того, DataView может быть настроен для представления подмножества данных из DataTable. Эта возможность позволяет иметь два элемента управления, привязанные к одному и тому же DataTable, но показывающие разные версии данных. Например, один элемент управления может быть привязан к DataView, отображающему все строки в таблице, а второй может быть настроен для отображения только строк, которые были удалены из DataTable. DataTable также имеет свойство DefaultView, которое возвращает DataView по умолчанию для таблицы.
Подробнее смотрите в MSDN класс DataView.
DataTable
означает представление одной таблицы, тогда как DataSet
- это представление в виде нескольких таблиц.
Это означает, что с помощью DataTable
мы можем хранить только одну таблицу из базы данных, если мы используем DataSet
, мы можем хранить несколько таблиц за раз...
DataView
означает просмотр данных, доступных в DataSet
... (представление таблицы доступно в DataSet
)
он используется для поиска записи, сортировки, фильтрации записи... с помощью DataView
.
вы можете иметь фильтрацию в DataTable с помощью DataView. например, если у вас есть DataSet, который включает все параметры, вы можете найти один из параметров с помощью DataView:
DataView dv = new DataView();
dv = new DataView(parameterDs.Tables[0], "ParameterName = '@" + parameter.Key + "'", string.Empty, DataViewRowState.CurrentRows);