Интерфейс для создания счетов - PullRequest
3 голосов
/ 01 ноября 2009

В настоящее время я нахожусь в процессе создания индивидуального решения для выставления счетов. Я создал несколько способов для клиентов создавать свои шаблоны (HTML, Word, LaTex) и получать счета в соответствии с их шаблоном. Однако эти счета-фактуры создаются партиями вручную.

Итак, процесс выглядит так:

  • Запрос на создание нового счета
  • Создан предварительный счет
  • Пользователь получает возможность вносить изменения (т.е. добавлять, удалять, изменять строки)
  • Создать PDF

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

Моя проблема в том, что я не могу найти подходящий способ отображения предварительных счетов. Я попробовал сетку данных (по умолчанию, telerik, devexpress), но это слишком грязно. Помимо таблицы данных, я понятия не имею, что я могу использовать.

Какие элементы управления я могу использовать лучше всего, чтобы иметь удобный и удобный пользовательский интерфейс.

Ответы [ 5 ]

2 голосов
/ 01 ноября 2009
1 голос
/ 01 ноября 2009

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

По сути, вы делите функциональность программы на две категории: вещи, которые пользователь хочет сделать со строками (добавление, удаление, изменение порядка, выбор) и вещи, которые пользователь хочет сделать с элементами выбранной строки.

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

Два возможных подхода к этому: парадигма листа свойств (выберите объект, щелкните правой кнопкой мыши, выберите «Свойства», отредактируйте значения в модальном диалоговом окне) или парадигма, в которой окно разделено на две панели, одна из которых является строки, а другая - это детали текущей выбранной строки. Есть много других.

1 голос
/ 01 ноября 2009

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

Текущее приложение, в котором они работают, - это приложение WebForms Intranet, так что это расширение к нему. Таким образом, они могут легко добавлять / удалять / редактировать строки.

Но Егор прав. По сути, вы говорите о сетке данных независимо от того, что вы делаете. Я так понимаю, вы хотите что-то «чище» и более интуитивно понятное?

Простота сложна.

1 голос
/ 01 ноября 2009

Какая у вас платформа? Winforms? WPF?

Что именно вам не понравилось в использовании сетки данных для этого? Часть проблемы заключается в том, что, нравится вам это или нет, вы будете кодировать сетку данных - вы, по сути, описали ее особенности. Если это вообще возможно, попытайтесь использовать чужую сетку данных, потому что это сэкономит вам много работы. Как правило, сторонние сетки данных должны быть достаточно настраиваемыми, и вы должны иметь возможность сделать так, чтобы они выглядели так, как вы хотите, - и воспользоваться встроенной сортировкой, редактированием, группировкой и т. Д. Создать элемент управления, подобный сетке данных, с нуля непросто и следует избегать, если это возможно.

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

0 голосов
/ 01 ноября 2009

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

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

Я бы посмотрел на любое из следующего (большинство предлагают бесплатную пробную версию, или просто попробуйте поискать скриншоты):

Просто некоторые идеи ... надеюсь, это поможет!

...