Программирование >>  Реализация целостности данных 

1 ... 89 90 91 [ 92 ] 93 94 95 ... 124


ЧАСТЬ 3 П:!ое с1пфова н8 паякааятёльЕкато MHiipttMca

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

Если же список содержит не более няти-шести записей, и все значения, перечисленные в нем, постоянны, вместо списка или комбинированного окна используют или, еще чаще, грунну кнопок с зависимой фиксацией (рис. 15-4).

j Option liutlan nd Toggle Bullan I?iolh>s

C Xitrttoni

Puc. 15-4 1ключатели пки с зависимой фиксацией

Хотя многие средства разработки, например Visual Basic, нозволя-ют генерировать группу кнопок на этапе исполнения, я не советую

делать это. Пользователям гораздо удобнее работать с формами, в которых все элементы управления расположены на привычных местах, чем с постоянно изменяющимся интерфейсом. Поэтому группы кно-пок-вь[к.11ючателе!; или кнопок с зависимой фиксацией следует использовать, только когда число и названия элементов в этих группах постоянны (или по крайней мере, не изменятся до выхода следующей версии программы). Во всех остальных случаях лучше применять списки или комбинированные окна. При изменении числа или значений элементов списков размер элементов управления не меняются, и не причиняют пользователям неудобств.

Выбор нескольких значений из диапазона

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

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

В Access, чтобы отображать пользователю записи одну за другой,

удобнее всего использовать подчиненную форму в режиме отображения одной записи. Задайте свойства LinkChildFieldsw LinkMasterFields

в разрабатываемой форме - и Access выполнит за вас основную часть



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

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

Используйте с непрерывным режимом просмот-

ра, если вы работаете с Access (рис. 14-2), и настраиваемый табличный элемент управления или иерархическую таблицу Microsoft Hierarchical FlexGrid, если используете Visual Basic. Таблицы Microsoft Access - чрезвычайно мощное средство, иногда даже слишком ное. Помимо текстовых полей, в них несколько видов дополнительных элементов управления иеаемыетабличные элементы (grids) в Visual Basic порой осложняют создание пользовательских приложений, а иерархические таблицы позволяют только отображать данные в виде иерархически организованнхх структур, но не редактировать эти

счастью, в Access и Visual Basic арсенал средств, управление данными, достаточно широк. Например, подчиненные формы в Access позволяют отображать записи в режиме непрерывного просмотра, и таким образом, пользователь видит на экране сразу несколько записей. В версии 6 Visual Basic появился новый объект DataRepeater, предоставляющий практически те же возможности, что и подчиненная форма Access, хотя реализованы эти два элемента управления по-разному. Каждый из ни 1еиим там, где нужно отображать пользователю множество записей и при этом использовать тип элементов управления, не поддерживаемый в подчиненных таблицах и настраиваемых табличных элементах управления (например, группу связанных параметров). Оба эти элемента управления: и подчиненные мы, и объект Data Repeater, - позволяют каждую запись на несколько строк при отображении ее в

форме пользовательского интерфейса.

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



ЧАСТЬ 3 ПроекгярОЕамме пользовзтельошго интерфейса

Windows Explorer, можно отображать пользователю дополнительные

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

И наконец, в тех случаях, когда пользователям нужно выбирать несколько значений из списка, подойдет связанная пара списков. Подобная структура часто используется в мастерах. Вот пример из мастера таблиц Microsoft Access 2000: сииски Sample Fields и Fields in my new образуют связанную пару (рис. Как правило, пользователи

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

Empfe)ve*s octijr:t&

MailrnQllstK It*

: .Ol.ilU

Puc -5. Связанные списки в мастера лиц Access 2000

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

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



1 ... 89 90 91 [ 92 ] 93 94 95 ... 124

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика