Новый DataView против DefaultView для DataTable

Зачем создавать новый DataView вместо использования DefaultView из DataTable в C#?

Какие сценарии создания нового DataView предпочтительнее?

Каковы преимущества и недостатки обоих?

var dataView = new DataView(dataTable);

vs

var dataView = dataTable.DefaultView;


person Brk    schedule 02.07.2015    source источник


Ответы (2)


DefaultView в том, что он уже существует по умолчанию, как следует из названия.

Дополнительные представления данных Преимущество заключается в том, что вы можете держать несколько из них готовыми и использовать параллельно.

Таким образом, вы можете фильтровать и сортировать 3 из них по-разному и привязывать 3 разных элемента управления, например. three DataGridViews или DGV и Items из ComboboxCell к ним независимо.

Цитата из этот пост:

Представление данных — это представление таблицы данных, немного похожее на представление sql. Это позволяет вам фильтровать и сортировать строки - часто для привязки к элементу управления формы Windows. Кроме того, DataView можно настроить для представления подмножества данных из DataTable. Эта возможность позволяет вам иметь два элемента управления, привязанных к одному и тому же DataTable, но отображающих разные версии данных.

person TaW    schedule 02.07.2015

И другие сценарии, создающие новый DataView, предпочтительнее, это глобальная таблица данных asp (переменная приложения), совместно используемая между сеансами. Представление по умолчанию с фильтром строк нежелательно, поскольку применяемый фильтр влияет на представление по умолчанию для всех сессий. Поэтому вы должны создавать представление данных для каждого сеанса. vb.net

Application("dt") = New DataTable() - persits across sessions
Application("dt").DefaultView.RowFilter="Field = Value" - not preferable because it apply all sessions
Session("dv") = New DataView(Application("dt"))
Session("dv").RowFilter="Field = Value" - preferable
person Maxrem    schedule 14.06.2018
comment
Максрем, это не дает ответа на вопрос. Вы можете выполнить поиск похожих вопросов или обратиться к связанным и связанным вопросам в правой части страницы, чтобы найти ответ. Если у вас есть похожий, но другой вопрос, задайте новый вопрос и включите ссылку на этот вопрос, чтобы обеспечить контекст. См.: Задавайте вопросы, получайте ответы, не отвлекайтесь - person Yunnosch; 14.06.2018
comment
Не согласен. Это сценарии, создающие новый DataView, являются предпочтительными, которые просили. - person Maxrem; 14.06.2018
comment
В этом случае, пожалуйста, примите мои извинения и перефразируйте свой ответ, чтобы он читался меньше, как будто у меня такая же проблема, это не работает, мне нужно .... Для ответа я использую самые вводящие в заблуждение фразы, не хорошо , мне нужно и финал непоследовательно замолкающий.... - person Yunnosch; 14.06.2018
comment
Отредактируйте/перефразируйте мой ответ. - person Maxrem; 14.06.2018
comment
Я понимаю. Да, теперь это больше похоже на ответ. Спасибо за то, что восприняли мою критику таким будничным образом. - person Yunnosch; 14.06.2018