Определяет, может ли выделяться отдельная Клетка (ячейка) в Контроле Grid, например, вы можете использовать рассматриваемое свойство AllowCellSelection для реализации отображения Данных в Контроле Grid, как в Контроле ListBox. Доступно для чтения и изменения в режимах Design-Time / Run-Time.

Grid.AllowCellSelection [= lExpr]

Expand imageВозвращаемое значение

lExpr

Параметр определяет способ выделения элемента данных: или текущую Клетку Grid, или всю текущую строку данного Контрола Grid.

Далее приводится описание возможных значений данного параметра lExpr.

lExpr Краткое Описание

True (.T.)

Определяет, что в текущий момент выделяется Клетка Grid-а (Поле Таблицы). (По-умолчанию)

False (.F.)

Определяет, что выделяется вся текущая строка Таблицы (как в контроле ListBox).

Expand imageКомментарии

Применяется В: Grid, контрол

Выделение индивидуальной Клетки или всей текущей строки Таблицы не изменяет Цвет выделения строки или Клетки.

В том случае, когда выполнена установка AllowCellSelection = False (.F.) (Вся Строка), существуют следующие Особенности:

  • Контрол Grid игнорирует значения свойств SelectedItemForeColor, SelectedItemBackColor. Текущая строка подсвечивается с помощью Цветовых схем из свойств HighlightBackColor, HighlightForeColor и может определяться другими характеристиками и свойствами объектов уровня Column (Столбец).

    NoteОбратите Внимание

    Если вы не используете специфических значений Свойств выделения (подсветки), то вокруг текущей строки появляется специальная Рамка Выделения.

  • Если для свойства HighlightStyle установлено значение > 0, то, по-умолчанию, для свойства HighlightBackColorустанавливается значение =  50 процентов светлее базового цвета выделения (в полтора раза светлее, умноженное на коэффитциент = 1.5).

  • Контрол всегда отображает указатель мышки, заданный в свойстве MousePointer, и не выполняет переход в режим редактирования текущей Клетки. При выполнении Клика в требуемой клетке - выделяется вся текущая Строка Таблицы (вместо установки Фокуса в отдельную Клетку).

  • Табуляция (перемещение по Столбцам) в этом случае не работает, Контрол Grid ведет себя так, как будто имеет один Моно-столбец (точнее - типа ListBox).

  • Вы сможете также удалить текущую Строку (пометить на удаление), данный механизм также Отключен в рассматриваемом Режиме.

  • Скрытые Стобцы Игнорируются. Для скролинга Столбцов слева или справа рекомендуется использовать клавиши-стрелки LEFT ARROW / RIGHT ARROW или горизонтальную линейку Скролинга контрола Grid.

  • Значение свойства ctiveColumn вычисляется как = 0; рекомендуется использовать значение свойства RelativeColumn - для определения значения Столбца в Grid-е.

  • Метод ActivateCell просто выделяет текущую Строку Таблицы.

  • Все соответствующие события конкретных Контролов переопределяются на события самого Контрола Grid. Например, опрация "double-clicking" для Клетки переадртсуется в событие Grid.DblClick. Тем не менееr, события Заголовков Header и другие Атрибуты поддерживаются. Например, вы можете выполнять Клик для Заголовка Столбца, чтобы переопределить текущий режим Сортировки (если такой функционал вами поддерживается).

  • Поддержка режима поиска Find - отключается, это объясняется тем, что при использовании рассматриваемого значения свойства  AllowCellSelection Контрол Grid переходит в специфический режим "Только-Чтение". Однако, данное свойство AllowCellSelection не влияет на работу Столбца пометки Записей Таблицы "на Удаление", (он по-прежнему отображается).

  • События AfterRowColChange и BeforeRowColChange работают только при изменении позиции Строк Таблицы. Значение свойства  RowColChange всегда = 1 (Изменяется Строка).

Свойство AllowCellSelection поддерживает Все стандартные Контролы Visual FoxPro, которые помещены в Столбец-контейнер; однако, внедренные в Столбец внешние Контролы типа ActiveX не поддерживаются (имеется ввиду: запрет выделения Клетки, примечание переводчика).

Если значение свойства AllowCellSelection = True (.T.), Visual FoxPro игнорирует срабатывание события Grid.KeyPress и использует программный Код для соответствующего события конкретной Клетки (Ячейки), в которой сработало это Событие .

Expand imageСм. также