Возможно ли создать DataGridView, который выглядит так?
Это было разработано с использованием некоторых сторонних компонентов, таких как C1. Как вы можете видеть, здесь есть три вида строк ...
Type 1. L0000000000000000420
- этот вид строки извлекается из базы данных. (Только для чтения)
Type 2. Enter Amount
- этот тип строки предназначен для ввода пользователем суммы. (этот может также содержать выпадающий список в некоторых столбцах) (Редактируется только при проверке)
Type 3. WHITE ROW
- это просто пустая строка Читайте только для лучшего внешнего вида.
Я хочу знать, возможно ли создать аналогичный, если не совсем тот же вид DataGridView, без использования какого-либо стороннего компонента? Моя идея - забрать строки из базы данных в DataTable, а затем зациклировать их ... Я думаю о добавлении двух дополнительных пустых строк в DataTable после каждой строки, которая была выбрана.
Я также добавить столбец, который будет иметь значение, такое как,
А - (это, чтобы указать тип 1)
В - (это, чтобы указать тип 2)
с - (это, чтобы указать тип 3)
A
Аргументы B
C .. so on
Затем я проверю тип строки в цикле, а затем задаю свойство этой строки для свойств, доступных только для редактирования, и свойств цвета.
Но я не уверен, что это практически возможно. Я не уверен, как я собираюсь добавить ComboBox
только для столбца tpe 2. Потому что, если я добавлю столбец ComboBox, он будет отображаться во всех трех строках. Это возможно? Если да, можете ли вы дать мне некоторое представление о том, как это сделать? Мне нужно знать, как я могу это сделать, прежде чем задавать более конкретные вопросы. Спасибо.
** Решение ** Использование WPF. winforms - это действительно старая технология, о которой никто больше не заботится, и которая ничего не поддерживает. Вы можете легко создать что-то подобное в WPF примерно в 30-50 строках XAML, тогда как в winforms потребуются годы ужасных хаков. –
Я боюсь, у меня недостаточно времени для изучения WPF. – Arbaaz
Вы уверены, что можете быстрее создать этот вид в WinForms, чем вы могли бы изучить WPF? – Paparazzi