Отображать данные с таблицами против форм против вкладок против пользовательских элементов управления? - PullRequest
1 голос
/ 06 октября 2011

Мне нужно разрешить пользователю обрабатывать некоторые данные. Данные, скажем, 100 пунктов, которые помечены, чтобы сказать 10 различных групп.

Каждый элемент содержит данные, такие как имя, количество, ссылка, которые должны отображаться.

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

Группировка не будет точной на 100%; Мне нужно разрешить пользователю перемещать элементы между группами. Это должно обновить количество элементов в общей информации.

Мне также нужно, чтобы пользователи могли добавлять элементы с нуля, редактировать или удалять. Т.е. как датагридвью.

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

Мой запрос, как лучше всего представить данные пользователю?

Я довольно новичок в C #, но у меня хороший прогресс. Это настольное приложение winforms. VS2010 с .net 4.

Я еще не занимался перетаскиванием или пользовательскими элементами управления, но я хочу использовать этот проект и в качестве учебного процесса.

Я понимаю, что независимо от того, какое решение я выберу, потребуется огромное количество места для отображения.

Я мог бы:

  • Создание пользовательского элемента управления с сеткой данных для элементов; поля для общей информации; Повторите столько пользовательских элементов управления, сколько мне нужно

  • Создать форму с сеткой данных и полями; иметь основную форму MDI для хранения дочерних форм

  • Создать вкладку формы с одной вкладкой на группу; возможно, есть элемент управления «Move to» для перемещения элементов с одной вкладки на другую.

  • Используйте таблицы для создания длинного отформатированного списка. Заголовки для каждой группы появляются в начале каждой группы; строки повторяются внизу; создать новые строки вставляет строку в таблицу.

Есть ли еще кто-то, кого я пропустил?

Я надеюсь получить несколько советов о том, как лучше двигаться вперед, или несколько советов о некоторых решениях.

Мне нравится идея пользовательских элементов управления в длинной форме. Пользователь начинает сверху и идет вниз; перемещение и редактирование элементов по мере их появления.

TIA, Андрей

РЕДАКТИРОВАТЬ: Спасибо Салазаар, но я понимаю, перечитывая мои намерения с группами, может быть не ясно.

Вот изображение того, как я думал, может выглядеть один элемент управления / раздел. Счета могут быть перемещены из одного «места назначения» в другое:

Sample

Ответы [ 2 ]

0 голосов
/ 17 октября 2011

После некоторых проб и ошибок я обнаружил, что действительно длинный список непригоден для использования.

Я использовал гибридный подход использования дочерних окон MDI и элемента управления вкладками в родительском MDI.Таким образом, вы можете использовать вкладки на родителя, чтобы воспитать детей MDI;или нажмите на дочерние окна, чтобы установить фокус.

0 голосов
/ 06 октября 2011

Хм, я просто люблю простые решения, поэтому я попытался создать их:

enter image description here

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

Ниже находится «рабочая область», большая сетка с большим пространством для данных.Первый столбец содержит группу и имеет цвет, аналогичный приведенным выше кнопкам.

Внизу находятся кнопки для сохранения или добавления новых строк и т. Д.

Группы будут изменены с помощью столбца комбинированного списка (извините, но не на снимке экрана), поэтому вы можете обрабатывать изменение группы с другими данными при нажатии кнопки сохранения.

Надеюсь, это поможет.Конструктивная критика приветствуется.

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