![]() |
#1 |
Участник
|
Скрыть программно группу полей в гриде
Добрый день!
Имеется грид на форме, грид завязан на один датасорс. В гриде также имеется группа полей, которые завязаны на другой датасорс. Как программно скрывать/открывать эту группу в зависимости от некоторых условий? |
|
![]() |
#2 |
Участник
|
Выставить у группы свойство AutoDeclaration = Yes и в коде, обращаясь к ней по имени, менять значение свойства Visible.
|
|
![]() |
#3 |
Участник
|
|
|
![]() |
#4 |
Участник
|
Код примерно такой
X++: public void cursorNotify(int _event) { NoYes isConfigurable = InventTable.configActive(); super(_event); if (isConfigurable) { ConfigId.enabled(isConfigurable); InventDim_Group.visible(isConfigurable); } } Последний раз редактировалось Vasiliusis; 17.09.2014 в 13:20. |
|
![]() |
#5 |
Участник
|
Отдельно скрывать столбцы тоже не получается
|
|
![]() |
#6 |
Участник
|
Мне кажется вы не верно выбрали событие, в котором управляете видимостью. В какой момент у вас может измениться видимость? Только при открытии формы? При переходе от одной записи к другой? При изменении позиции ведущего источника данных?
|
|
![]() |
#7 |
Участник
|
Тут я немного дополню... есть еще один грид, в нем выбирается запись... вот по выбору строки в этом гриде как раз таки и должна скрываться группа в том, что написан ранее...
|
|
![]() |
#8 |
Участник
|
Тогда для ваших целей стоит использовать метод active датасорса, указанного в свойствах того грида.
|
|
![]() |
#9 |
Участник
|
|
|
![]() |
#10 |
Участник
|
Сейчас только обратил внимание на то что вы visible пытаетесь менять только если isConfigurable == true. Этот IF там вроде бы вообще не нужен.
![]() |
|
|
За это сообщение автора поблагодарили: Vasiliusis (1). |
![]() |
#11 |
Участник
|
|
|