Этап 8. Совершенствование пользовательского интерфейса
Cделаем так, чтобы работать с приложением стало удобнее. Основные усовершенствования формы это: 1. элемент управления СотbоВох для таблицы Магазины, Создадим аналог МастераПодстановки в Access для поля Код_магазина в оформлении таблиц Заказы. Для этого: · Убедитесь, что информация из таблицы Магазины (код, название) ранее была добавлена вами в объект DataSet со строгим контролем типов, например, открыв его в окне DataSolution. (если информации из таблицы Магазины нет, добавьте ее, например, с помощью контекстного меню на DataSet à Configure DataSet with Wizard) · Удалите элемент управления TextBox, который отображал столбец код_магазина. Теперь перетащите элемент управления ComboBox из окна Toolbox на форму. Нажмите небольшую стрелку прямо над этим элементом управления и укажите, что вы хотите использовать элементы, которые можно связывать с данными «Use data Bound Items», как изображено на рисунке 19. Рисунок 19 – Смарт-теги элемента управления ComboBox · Диалоговое окно под названием ComboBox Tasks расширится. В ниспадающем списке Data Source выберите таблицу Магазины (под элементами Other Data Sources à Project Data Sources à ВашDataSet à Магазины). · Теперь задайте свойству DisplayMember имя столбца название_магазина, а свойству ValueMember имя столбца код_магазина. · Наконец, задайте свойству SelectedValue имя столбца код_магазина ИЗ объекта BindingSource, созданного вами для таблицы Заказы. 2. улучшенный формат для числовых значений и столбцы на основе выражения (название_модели и суммаИтого), предназначенные для отображения на экране полезных расчетных значений. Добавим в наше приложение возможность узнать общую стоимость каждого вида товара, а также общую сумму всего товара в заказе. Для создания столбцов, значения которых вычисляются на основе выражений можно использовать свойство Expression объекта DataColumn. · Таблица состав_заказа содержит столбцы количество и стоимость. Откройте в конструкторе объект DataSet (2 раза левой кнопкой мыши по dataset в окне SolutionExplorer). С помощью контекстного меню добавьте в таблицу Состав_заказа новый столбец (Add à column) с названием итого. В окне свойств задайте свойству Expression объекта DataColumn значение количество*стоимость. · Аналогично в открытом окне конструктора DataSet в таблицу Заказы добавьте столбец сумма_заказа, который отображает общую сумму заказа, задав свойству Expression объекта DataColumn значение Sum(Child(FK_состав_заказа_заказ).итого) · Свойству DataType всех только что добавленных объектов DataColumn нужно присвоить значение System.Decimal. · После этого все новые столбцы можно добавить на форму. Для создания нового столбца сумма_заказа перетащите его из окна Data Sources на форму. Чтобы поместить столбец итого на элемент управления DataGridView, щелкните правой кнопкой мыши структуру, выберите сначала пункт Add Column, а затем — столбец итого. · Тип данных нового столбца сумма_заказа — System.Decimal. Поэтому элемент управления TextBox на форме с информацией отображает содержимое этого столбца в стандартном числовом формате. Так, стоимость единицы товара, равная 491, 20 руб, в элементе TextBox будет отображаться как 491, 2000. Изменим формат этого столбца, чтобы данные отображались в более привычном виде. Для этого выберите этот элемент на форме в среде Visual Studio. Затем перейдите в окно Properties, откройте свойство DataBindings, расположенное в верхней части окна, выберите вариант Advanced и нажмите кнопку с многоточием (...). Появится диалоговое окно Formatting and Advanced Binding. Задайте свойству FormatType значение Currency. Теперь элемент управления TextBox будет отображать содержимое столбца в формате денежных единиц ($491.20, €491.20 и т. п.). · Элемент управления DataGridView также позволяет указывать формат строки для столбцов в структуре. Выберите на форме элемент управления DataGridView, щелкните его правой кнопкой мыши и выберите в контекстном меню пункт Edit Columns. В появившемся диалоговом окне выберите столбец, формат которого необходимо изменить (столбец Итого), выберите свойство DefauItCellStyle и нажмите кнопку с многоточием (...).В появившемся диалоговом окне CellStyle Builder выберите свойство Format и нажмите кнопку с многоточием (...). Наконец, в появившемся диалоговом окне Format String укажите нужный формат.
|