Предположим, у меня естьКак выбрать комбо-элемент?
combo(["A","B","C","D"])
Как я могу выбрать пункт B. Есть ли свойство, как selectIndex (2) или SelectItem ("B")?
Я не нашел такого имущества.
Предположим, у меня естьКак выбрать комбо-элемент?
combo(["A","B","C","D"])
Как я могу выбрать пункт B. Есть ли свойство, как selectIndex (2) или SelectItem ("B")?
Я не нашел такого имущества.
Похоже, первая запись зашитый быть выбрана по умолчанию: https://github.com/cwi-swat/rascal/blob/master/src/org/rascalmpl/library/vis/figure/interaction/swtwidgets/Combo.java#L40
Таким образом, единственный способ, чтобы выбрать элемент, который вы хотите, чтобы создать комбо с первым пунктом тот, который вы хотите выбрать.
Я предполагаю, что вы есть тип данных объявлен как это:
data C = combo(list[str] items);
и значение, как это (выстраиваться с вопросом):
rascal>c = combo(["A","B","C","D"]);
C: combo(["A","B","C","D"])
Учитывая, что существует несколько способов вы можете получить второй элемент в списке. Если вы дали имя поля данных, содержащихся в combo
(выше, это items
), вы можете просто сказать, что это (напомним, что списки в Rascal 0-индексированные):
rascal>c.items[1];
str: "B"
Если у вас нет дали ему имя, и не хотите, вы также можете сделать это, используя спичку:
rascal>if (combo(l) := c) println(l[1]);
B
переменная l
будет связана со списком задержав- combo
; эта новая переменная затем доступна внутри if
. Конечно, в обоих случаях вам нужно убедиться, что список достаточно длинный, поэтому вы не получите ошибку, пытаясь прочитать второй элемент. Кроме того, можно сделать следующее, который использует вложенный список матч:
rascal>if (combo([s1,s2,s*]) := c) println(s2);
B
В этом случае s1
будет найден первый элемент списка, s2
ко второму, и s
к чему-либо (0 или более , что и означает *
). Поскольку это будет соответствовать только в том случае, если список, содержащийся в combo
, имеет длину не менее 2, вам не нужно будет отдельно проверять это.
Я ответил, предполагая, что комбо объявлено как я дал, но если вы ищете что-то еще (может быть, что-то с цифрами), пожалуйста, дайте мне знать, это не ясно из вопроса. –
Спасибо за ответ, но это был не вопрос. Если я загружаю A, B, C в комбо, тогда по умолчанию выбирается A (видимо рядом со стрелкой). Я хочу, чтобы B был выбран, когда он становится видимым, сохраняя при этом порядок A..C – robert