PowerApps Как отключить и включить разные раскрывающиеся списки в зависимости от выбранных элементов списка

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

Я попробовал следующий код в своих раскрывающихся списках, но он не работает и выдает ошибку *, на этом этапе в формуле ожидается +

Ниже приведена формула, которую я написал в выпадающем меню DisplayMode:

ForAll(ListBox1_1.SelectedItems, If(ThisRecord.Name="Offce ABC",DisplayMode.Edit,DisplayMode.Disabled));

person MJ X    schedule 23.11.2020    source источник


Ответы (2)


Это можно сделать несколькими способами в зависимости от того, как настроен ваш Dropdown Items.

Предполагая ...

  1. Есть какая-то связь между Items в списке и Items в каждом раскрывающемся списке.
  2. Каждый раскрывающийся список Items представляет собой коллекцию (или отфильтрованную часть коллекции)

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

If(
    IsEmpty(
        Filter(lbox1.SelectedItems, Value in col1.field)
    ),
    DisplayMode.Disabled, 
    DisplayMode.Edit
)

Пример в действии:

введите описание изображения здесь

person SeaDude    schedule 23.11.2020
comment
Привет, спасибо, за ваш ответ, не могли бы вы привести пример, так как моя проблема в том, что когда я выбираю выбор из списка, например 1, а затем я должен сказать, если выбран элемент списка 1, включить раскрывающийся список1, какой источник данных поступает из службы общих данных . и когда также выбран элемент списка 2, он должен включить еще один раскрывающийся список2, который также является данными, поступающими из службы общих данных. - person MJ X; 24.11.2020
comment
значения в раскрывающемся списке полностью отличаются от значений в списке. - person MJ X; 24.11.2020

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

Предполагая сейчас ...

  1. Между элементами в списке и элементами в каждом раскрывающемся списке нет связи НЕТ.

... вы можете использовать следующую логику для свойства DisplayMode выпадающих списков:

If(
    Or(
        "1" in lbox1_1.SelectedItems,
        "2" in lbox1_1.SelectedItems,
        "3" in lbox1_1.SelectedItems
    ),
    DisplayMode.Edit, 
    DisplayMode.Disabled
)

... где 1, 2 и т. д. - параметры в свойстве Listbox Items.

Пример в действии:

введите описание изображения здесь

person SeaDude    schedule 24.11.2020
comment
Привет, спасибо за ответ, можете ли вы попробовать заполнить данные из общих служб данных, когда я помещаю вашу логику, она не работает, она не принимает listbox1.SelectedItems и выдает ошибку. но когда я помещаю listbox1.SelectedItems.Name, ошибка гаснет, но логика не работает - person MJ X; 24.11.2020
comment
я ценю вашу помощь - person MJ X; 24.11.2020
comment
Я хочу именно то, что вы сделали, единственное, что нужно, - это попробовать использовать источник списка в качестве общей таблицы / объекта службы данных в качестве источника. - person MJ X; 24.11.2020
comment
Я не использую CDS. Вам придется пробовать разные комбинации самостоятельно, пока они не сработают. - person SeaDude; 24.11.2020
comment
Я дал вам голосование за приложение, но я не могу принять его в качестве ответа, так как он не работает с общим источником службы данных для списка - person MJ X; 25.11.2020
comment
Вместо .SelectedItems попробуйте .Selected.Name. - person SeaDude; 25.11.2020