Какой элемент управления winforms следует использовать для отображения таблицы результатов поиска, возвращаемых LINQ? - PullRequest
1 голос
/ 26 апреля 2009

Какой элемент управления следует использовать при отображении списка сведений о записи (имя, идентификационный номер, дата)? Это около 5 маленьких столбцов, и мне будет возвращено много строк.

Я использую LINQ для получения нужных мне записей из базы данных и в настоящее время храню их в IQueryable.

Кто-нибудь может подсказать, какой элемент управления WinForms мне следует использовать в этом случае (ListView, DataGridView, ListBox?

Каков стандарт для этого варианта использования?

Ответы [ 2 ]

1 голос
/ 26 апреля 2009

Это действительно зависит от того, как вы хотели бы отображать данные, если вы хотите связать данные, вы можете использовать сетку данных или даже просто сетку данных. Другой вариант - использовать новый элемент управления DataRepeater. Вы можете привязать свой набор результатов linq к BindingSource, а затем привязать BindingSource к сетке / повторителю.

Другие опции тоже в порядке, на самом деле я всегда использую представление списка, если я хочу отображать сгруппированные данные, я думаю, что это выглядит хорошо. Недостатком является то, что вам нужно заполнять списки просмотра вручную (на самом деле это не так уж важно для IMO). Еще одна вещь, на которую следует обратить внимание, это то, что ListViews также имеют виртуальный режим, который идеально подходит для больших наборов результатов, но, конечно, правило о том, что следует избегать выгрузки больших наборов результатов в графические элементы графического интерфейса, (то есть, избегайте его с хорошей фильтрацией источника возможно)

0 голосов
/ 04 февраля 2015

ListBox

Это очень грубый тип управления пользовательским интерфейсом. Существуют ограничения на операции, которые можно выполнять с заголовком столбца, выбранным элементом и т. Д.

например. пользователь не может изменить размер столбцов, не может легко выделить определенные элементы

Я бы использовал его для самой быстрой реализации для данных с фиксированной шириной без дополнительных настроек. например выберите опцию из списка

GridViewControl

Это обеспечит большую гибкость и настройку, если вам это нужно. Было бы бессмысленно объяснять здесь все особенности, не зная точного контекста. Однако внешний вид по умолчанию не очень хорош. Вам нужно настроить его. Потребление памяти и производительность в порядке для большого набора данных. Не сильно беспокоиться.

ListView

Нет привязки данных. Так что вам нужно написать код. Однако внешний вид по умолчанию привлекателен, а функции удобны для пользователя. Это также отлично подходит для больших наборов данных. Я бы всегда предпочел это для его стандартного вида и использовать его для отображения данных только для чтения.

Самый простой способ - использовать DataGridView. Если вы стремитесь к удобному пользовательскому интерфейсу, перейдите на ListView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...