[WinForms] Лучший способ fill/read FlexGrid, XtraGrid ?
От: Аноним  
Дата: 15.08.11 08:25
Оценка:
Eсть много разнородных объектов разного типа со свойствами разного типа, я хочу забить эти объекты в грид кликать по конкретному объекту, а в другом гриде редактировать его свойства.
Как лучше всего сделать подобное ?
В каком виде данных, каким способом: заполнять грид ? после редактирования выгружать данные?

п.с. совсем недавно в .net и мало чего знаю, ссылки на подходящий в данном случае материал для чтения приветствуется.
winforms xtragrid flexgrid
Re: [WinForms] Лучший способ fill/read FlexGrid, XtraGrid ?
От: AlexNek  
Дата: 15.08.11 10:53
Оценка:
Здравствуйте, dmitry-wolf, Вы писали:

DW>Eсть много разнородных объектов разного типа со свойствами разного типа, я хочу забить эти объекты в грид кликать по конкретному объекту, а в другом гриде редактировать его свойства.

DW>Как лучше всего сделать подобное ?
DW>В каком виде данных, каким способом: заполнять грид ? после редактирования выгружать данные?

DW>п.с. совсем недавно в .net и мало чего знаю, ссылки на подходящий в данном случае материал для чтения приветствуется.

У дев экспресса есть компонент TreeView, мне кажется будет удобней раскрывать ветку дерева чем открывать новое окно
Cообщение написано в ... << RSDN@Home 1.2.0 alpha 5-AN-R5 rev. 7279>>
Re[2]: [WinForms] Лучший способ fill/read FlexGrid, XtraGrid
От: Аноним  
Дата: 17.08.11 12:30
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Здравствуйте, dmitry-wolf, Вы писали:


DW>>Eсть много разнородных объектов разного типа со свойствами разного типа, я хочу забить эти объекты в грид кликать по конкретному объекту, а в другом гриде редактировать его свойства.

DW>>Как лучше всего сделать подобное ?
DW>>В каком виде данных, каким способом: заполнять грид ? после редактирования выгружать данные?

DW>>п.с. совсем недавно в .net и мало чего знаю, ссылки на подходящий в данном случае материал для чтения приветствуется.

AN>У дев экспресса есть компонент TreeView, мне кажется будет удобней раскрывать ветку дерева чем открывать новое окно
Я не говорю про то что надо открывать новое окно, все происходит в одном окне.
Re[3]: [WinForms] Лучший способ fill/read FlexGrid, XtraGrid
От: AlexNek  
Дата: 17.08.11 13:27
Оценка:
Здравствуйте, dmitry-wolf, Вы писали:

DW>Здравствуйте, AlexNek, Вы писали:


AN>>Здравствуйте, dmitry-wolf, Вы писали:


DW>>>Eсть много разнородных объектов разного типа со свойствами разного типа, я хочу забить эти объекты в грид кликать по конкретному объекту, а в другом гриде редактировать его свойства.

DW>>>Как лучше всего сделать подобное ?
DW>>>В каком виде данных, каким способом: заполнять грид ? после редактирования выгружать данные?

DW>>>п.с. совсем недавно в .net и мало чего знаю, ссылки на подходящий в данном случае материал для чтения приветствуется.

AN>>У дев экспресса есть компонент TreeView, мне кажется будет удобней раскрывать ветку дерева чем открывать новое окно
DW>Я не говорю про то что надо открывать новое окно, все происходит в одном окне.
А в чем проблема разместить два propertyGrid-a? Или грид + проперти грид.
Хотя опять таки что то подобное видел в примерах DevExpress-a.
Cообщение написано в ... << RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 7918>>
Re[4]: [WinForms] Лучший способ fill/read FlexGrid, XtraGrid
От: Аноним  
Дата: 18.08.11 06:53
Оценка:
Здравствуйте, AlexNek, Вы писали:
AN>А в чем проблема разместить два propertyGrid-a? Или грид + проперти грид.
AN>Хотя опять таки что то подобное видел в примерах DevExpress-a.

Меня волнует в каком виде и каким способом лучше всего запихивать данные в эти гриды и после редактирования данных считывать.
биндинги — знаю только название но что это хз.
пробегать циклом по всем данным и заполнять строки, ячейки ... ?
Как лучше ?
Re[5]: [WinForms] Лучший способ fill/read FlexGrid, XtraGrid
От: AlexNek  
Дата: 18.08.11 10:28
Оценка:
Здравствуйте, dmitry-wolf, Вы писали:

DW>Здравствуйте, AlexNek, Вы писали:

AN>>А в чем проблема разместить два propertyGrid-a? Или грид + проперти грид.
AN>>Хотя опять таки что то подобное видел в примерах DevExpress-a.

DW>Меня волнует в каком виде и каким способом лучше всего запихивать данные в эти гриды и после редактирования данных считывать.

propertyGrid.SelectedObject = data
И больше ничего не нужно если один объект.
DW>биндинги — знаю только название но что это хз.
Это больше для грида и БД
DW>пробегать циклом по всем данным и заполнять строки, ячейки ... ?
ни в коем случае, об этом уже позаботились разработчики грида.

Похоже нужно больше информации, попробую что то типа описания сделать, я уже с этим давно т..юсь
Cообщение написано в ... << RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 7918>>
Re[5]: [WinForms] Лучший способ fill/read FlexGrid, XtraGrid
От: AlexNek  
Дата: 18.08.11 17:09
Оценка:
Здравствуйте, dmitry-wolf, Вы писали:

Вот попробовал начать описание гридов. Не знаю правда насколько полезно и правильно будет. Может забыл еще что.

Выбираем редактор для редактирования данных в виде таблиц.

В настоящее время имеется столько различных реализаций ввода и показа данных в виде таблицы, что поначалу просто теряешься в этом лесу. И для выбора нужного редактора необходимо иметь какие-то ориентиры. Давайте попробуем разобраться, что нам нужно учитывать.

Прежде всего, нам нужно точно определиться с данными, какие мы имеем на входе. Давайте разделим все множество на две группы: горизонтальные таблицы и вертикальные таблицы. Если мы хотим использовать данные о группе людей, и информация о каждом человеке будет располагаться в строке таблицы, то мы имеем дело с горизонтальными таблицами. Если же информация о каждом человеке будет располагаться в одном столбце, а имя, фамилия, пол и прочее в строках, то мы имеем дело с вертикальными таблицами. Иными словами, в горизонтальных таблицах все данные одного столбца имеют одинаковое смысловое значение и тип. В вертикальных же таблицах такую привилегию имеют только строки.

К горизонтальным таблицам мы все уже давно привыкли и считаем их как само собой разумеющееся при просмотре содержимого баз данных. К вертикальным таблицам мы также привыкли, совершенно не подозревая об этом. Просто видим мы чаще всего «вырожденные» вертикальные таблицы только с одним столбцом данных и столбцом заголовка/наименований. Эти таблицы получили название таблицы редактирования свойств объекта (Property Grid). При этом часто подразумевается, что мы имеем объект, имеющий свойства различного типа «прикрепленные» к этому объекту. Однако, мы можем иметь и объект хранящий свои параметры в дополнительном списке. То есть в Property Grid можно отображать и коллекцию элементов (об этом обычно забывают).
Кроме этого, иногда бывает удобно представлять данные в виде дерева. Однако не все табличные редакторы могут похвастать подобной возможностью. А Property Grid от Микрософт имеет даже два типа иерархии. Один виртуальный, когда данные просто группируются в категории на уровне редактора и второй актуальный, согласно структуре данных (Например, точку можно развернуть в координаты X и Y).

Также важно определится с требуемыми режимами редактирования данных. Данные могут только отображаться (данные в режиме только чтение), данные могут редактироваться без ограничений (простой режим ввода), вводимые данные должны подчиняться определенным ограничениям (ввод данных с проверками).

Если нам требуется режим ввода данных с проверкой, то здесь следует различать как минимум три уровня проверок:
  1. Проверка вводимых символов (например, в числовое поле нельзя вводить буквы)
  2. Проверка отдельного поля после окончания редактирования (нельзя, допустим, иметь значение больше 10)
  3. Проверка всех полей, перед использованием данных (например, если тип средства передвижения — машина, то должно быть не менее 4-х колес)
Иногда проверки уровней 1 и 3 не проводятся и не предусмотрены разработчиком. Еще очень желательно, чтобы существовали удобные встроенные средства сообщений об ошибках при вводе исходных данных. Например, показом специальной картинки и текста в ошибочной ячейке.

Для редактирования данных нам нужно, прежде всего, удобство ввода для пользователя. Следовательно, для каждого типа данных желательно иметь специализированных редактор. Редакторы типов должен быть совместимы с компонентом редактирования.

Часто довольно желательно, если редактор будет различать режим отображение данных и режим редактирования данных (Например, в режиме отображения можно вывести «2 метра», а в режиме редактирования только «2»)
Также удобно иметь возможность добавления графических элементов к некоторым ячейкам таблицы.
Не следует также забывать и о возможности локализации таблицы. Если, например, текст передается через специальный атрибут данных, то необходимо приложить некоторые усилия для его локализации.

Вот, например как можно описать некоторые компоненты:
ТребованияMS Property GridDevEx VerticalGrid
Горизонтальная таблицанетнет
Вертикальная таблицадада
Количество столбцов с данными для верт. табл.1Определяется данными
Поддержка древовидной структурыдада
Проверка данных. Уровень 1нетда
Проверка данных. Уровень 2можно реализоватьДовольно просто
Отображение признака ошибочных данныхнетда
Отображение желаемого сообщения об ошибке (не стандартного)нетда
Встроенные редакторы для стандартных типов данныхдада, много
Возможность написания собственных редакторовдада
Режим работы редактора ячейки «только для чтения»дада
Режим работа всего компонента в режиме «Только для чтения»нетда
Редакторы различают режим отображения и редактированиянетда
Возможность добавления картинок к ячейкам таблицыдаДа, к некоторым почти автоматически
ЛокализацияЗатрудненаПредусмотрена
Дополнительные возможностинеотключаемый комментарий к активной строкеВозможность показа комментария, многоколоночный режим без вертикального скроллера
К сожалению, реализовать некоторый дополнительный функционал (например, проверка данных уровень 1) в Микрософт property grid настолько затруднительно (прежде всего, просто из-за банального отсутствия слова виртуал возле некоторых функций), что работа по непредусмотренному сценарию практически невозможна.
Cообщение написано в ... << RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 7918>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.