Дизайн UI ПРИЛОЖЕНИЯ ТИПА CRUD WinForm, Что работы?

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

target_table = sqlContext.table("my_target_table")
my_df.select(*target_table.columns).saveAsTable("my_target_table")
12
задан Glorfindel 17 July 2019 в 05:51
поделиться

3 ответа

Здесь есть несколько принятых шаблонов, и иногда вы можете эффективно комбинировать их:

  1. TabPages
  2. TreeView (Папки Win Explorer, Инструменты Visual Studio | Параметры)
  3. Сворачивающиеся панели (Outlook Почта / Календарь / Контакты)

Сворачивающиеся панели не являются стандартным элементом управления, но есть несколько доступных реализаций (здесь только один )

И не только вы, для некоторого вдохновения см. Это ТАК ответьте .

4
ответ дан 2 December 2019 в 21:04
поделиться

One of the most important things I've learned through CRUD type apps, is to make sure that there are hotkeys for nearly every button and that the tab order is setup properly.

Most of the time, when you're doing data entry/modification, you don't want to drop your hands off the keyboard to move the mouse to the Submit/Update button, especially with large volumes of data to work with. Having these two items in order will greatly enhance the productivity of the app.

5
ответ дан 2 December 2019 в 21:04
поделиться

Отказ от ответственности: я занимаюсь CRUD уже не знаю, как долго, но я m только начинаю с моего первого приложения winforms.

Итак, некоторые смешанные идеи:

В нашей текущей системе (написанной с использованием Centura / Gupta) мы используем подход, подобный MDI. Я думаю, что важно позволить пользователю начать работу над новой записью, не заставляя его закрывать текущую работу, поэтому всегда отображается список открытых окон, позволяющий быстро переключаться между различными формами. Пример:

alt text
(источник: pingmbh.de )
Список открытых окон в левом нижнем углу. Также эта система позволяет открывать одну запись изнутри другой, например, открывать клиента, отображать заказы этого клиента, дважды щелкнуть по одному из его заказов, чтобы открыть его, и т. Д.

Теперь о winforms: после некоторых исследований Я отказался от MDI и вместо этого использовал форму, содержащую некоторые SplitContainers. Одна из этих контейнерных панелей показывает список открытых окон, другая показывает текущую форму. Поскольку я не нашел способа показать форму на панели, формы реализованы как пользовательские элементы управления. Основная форма отслеживает открытые окна и отображает их в списке окон. Если пользователь щелкает окно в списке или открывает ту же запись из другого места в программе, соответствующая панель выводится на передний план. Изображение незавершенной работы: alt text
(источник: pingmbh.de )
Рассмотрите возможность отделения выбора существующих записей от редактирования этих записей, т.е. показывать существующие записи в какой-либо таблице (например, в виде сетки) с возможности фильтрации и поиска и позволяют пользователю дважды щелкнуть эти записи для их редактирования.

Я заметил на вашем скриншоте, что у вас есть кнопки «Вставить» и «Обновить». Это для создания новых записей и сохранения существующих? Я думаю, что лучший подход - дать пользователю кнопку «Создать», а затем открыть форму, в которой есть кнопки «сохранить» и «отменить». Пользователь может не всегда помнить, начал ли он редактировать новую или существующую запись.

Экран выбора, кстати, хорошее место для кнопки «новая запись».

5
ответ дан 2 December 2019 в 21:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: