Возможность настройки (добавления / удаления) столбцов ListView и добавления / редактирования записей (WinForm) - PullRequest
1 голос
/ 10 января 2010

У меня есть класс Employee (Id, Name, Age) с несколькими объектами. Я показываю все записи в форме «Представление сотрудника» с помощью элемента управления ListView и позволяю пользователю добавлять / редактировать / удалять эти записи. И есть отдельная форма для добавления новой записи или редактирования существующей. (Нет взаимодействия с базой данных, просто есть список, чтобы сохранить эти изменения)

Теперь я хочу поддержать эту настройку (Employee View => Add / Edit Employee) с настраиваемым количеством столбцов (по умолчанию, отображая столбцы в соответствии с полями в моем объекте Employee). Таким образом, если пользователь хочет отправить больше информации (например, DoB, например), он должен иметь возможность добавить этот столбец в формы ListView, а в окне «Добавить / изменить сотрудника» должен быть показан один соответствующий элемент управления для каждого столбца (например, DateTimePicker для DoB) Добавить / отредактировать нужную запись.

Заранее спасибо.

1 Ответ

0 голосов
/ 10 января 2010

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

DataGridView также обеспечивает встроенное редактирование строк. Это редактирование «на месте» в самом DataGridView, поэтому оно не может быть идеальным для определенных типов приложений. Однако вы можете отключить редактирование на месте (используя свойства ReadOnly и AllowUserToAddRows) и продолжить отображать отдельную форму добавления / редактирования, если это необходимо.

В вашей форме добавления / редактирования распространенным способом сделать то, что вы просите, является динамическое добавление элементов управления в форму в соответствии с количеством полей в источнике данных. Это включает создание элементов управления в коде, установку свойств позиции и формата, а затем передачу их в Form.Controls.Add (). Затем вы можете заполнить эти поля вручную или, возможно, использовать Простое связывание данных .

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