+ Ответить в теме
Показано с 1 по 18 из 18

Тема: ComboBox

  1. #1
    Мастер Аватар для noRoman
    Регистрация
    22.03.2010
    Адрес
    Новочебоксарск
    Сообщений
    757

    ComboBox

    Как узнать кол-во элементов в ComboBox?
    PS Я хороший программист потому что читаю это!

  2. #2
    Главный Разработчик Аватар для Devel
    Регистрация
    11.03.2010
    Сообщений
    1,231
    Цитата Сообщение от noRoman Посмотреть сообщение
    Как узнать кол-во элементов в ComboBox?
    PHP код:
    msg("Кол-во пунктов = " c("combobox1")->items->count ); 

  3. Пользователь сказал cпасибо:

    noRoman (29.03.2010)

  4. #3
    Мастер Аватар для noRoman
    Регистрация
    22.03.2010
    Адрес
    Новочебоксарск
    Сообщений
    757
    а как вытащить текст из любого индекса comboBox? Пробовал: c("combobox1")->item[12]; - никакого эффекта
    PS Я хороший программист потому что читаю это!

  5. #4
    Цитата Сообщение от noRoman Посмотреть сообщение
    а как вытащить текст из любого индекса comboBox? Пробовал: c("combobox1")->item[12]; - никакого эффекта
    c("Form1->combobox1")->inText
    у меня получилось) Вытаскивает именно текст выбранного элемента

  6. #5
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,295
    PHP код:
    $ex explode(_BR_c('Form1->combobox1')->text); 
    c('Form1')->caption $ex[12]; 

  7. Пользователь сказал cпасибо:

    noRoman (29.03.2010)

  8. #6
    Мастер Аватар для noRoman
    Регистрация
    22.03.2010
    Адрес
    Новочебоксарск
    Сообщений
    757
    Цитата Сообщение от Verst Посмотреть сообщение
    c("Form1->combobox1")->inText
    у меня получилось) Вытаскивает именно текст выбранного элемента
    мне не выбранного, а любого
    PS Я хороший программист потому что читаю это!

  9. #7
    Новичок
    Регистрация
    23.04.2010
    Адрес
    Украина
    Сообщений
    28
    Как установить принудительно индекс нужного элемента в comboBox2, при выборе определенного элемента в comboBox1?

    Например выбран второй элемент выпадающего списка в comboBox1, на основании этого, в comboBox2 выбирается нужный элемент (задаваемый "по умолчанию").

  10. #8
    Главный Разработчик Аватар для Devel
    Регистрация
    11.03.2010
    Сообщений
    1,231
    Цитата Сообщение от Unix Посмотреть сообщение
    Как установить принудительно индекс нужного элемента в comboBox2, при выборе определенного элемента в comboBox1?

    Например выбран второй элемент выпадающего списка в comboBox1, на основании этого, в comboBox2 выбирается нужный элемент (задаваемый "по умолчанию").
    Ну для этого есть свойство ->itemIndex = 4 (начиная с 0).

  11. Пользователь сказал cпасибо:

    Unix (03.05.2010)

  12. #9
    Новичок
    Регистрация
    23.04.2010
    Адрес
    Украина
    Сообщений
    28
    Заработало
    Сравниваю результат выбранного элемента в comoBox1, занесенного в переменную $comoBox1 и если совпадает с нужным - задаю индекс в comoBox2
    PHP код:
    if ($comoBox1 ==2c("comoBox2")->itemIndex 1;
    if (
    $comoBox1 ==3c("comoBox2")->itemIndex 3;
    if (
    $comoBox1 ==4c("comoBox2")->itemIndex 5

  13. #10
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,295
    По твоей структуре можно не писать кучу if, а придумать формулу, если структура постоянная... :
    PHP код:
    c("comoBox2")->itemIndex 2*$comboBox 3;
    // или
    c("comoBox2")->itemIndex = (2*($comboBox 1))-1;
    // или чё ещё придумать :) из арифметической, геометрической прогрессии 

  14. Пользователь сказал cпасибо:

    Unix (03.05.2010)

  15. #11
    Скажите как узнать какой именно элемент нажат ?

  16. #12
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,295
    Acid-UA,
    ->itemIndex // индекс строки
    ->items->selected // выделенная строка
    ->inText // текст

  17. #13
    как правильно написать ? А то чтото не хочет работать:

    Код:
    if (c("combobox1")->items->selected = 3){c("browser1")->url= "http://localhost";}

  18. #14
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,295
    Что такое 3? Типо третяя строка? Или текст у тебя там такой есть?

    PHP код:
    if (c("combobox1")->itemIndex == 3){c("browser1")->url"http://localhost";}
    /* в данном случае itemIndex сравнивается с 3, а значит если б был такой список
    Слон
    Жираф
    Макака
    Бегемот
    То при нажатии на бегемота будет выполняться то действие, так как отсчёт индексов начинается с 0, а бегемот 3ий по счёту. Слон - 0, Жираф - 1, Макака - 2. */ 

  19. Пользователь сказал cпасибо:

    Acid-UA (04.05.2010)

  20. #15
    Ученик Аватар для agpr-f
    Регистрация
    13.06.2010
    Адрес
    Одесса, Украина
    Сообщений
    92

    Вопросик

    ComboBox - это же выпадающий список?
    Так вот, проблемка: как запретить изменение надписи в списке? Т.е.
    ___________________________
    | __*Вот этот текст*______| \/ | Просто изменение этой строки, похоже, сбрасывает "индекс
    |---------------------------------------| выделенного элемента" или что-то вроде этого, что приводит
    |---------------------------------------| мою программку в глубокий обморок. В принципе можно и
    |---------------------------------------| не изменять (текст), но если кто-то случайно что-то допишет,
    |---------------------------------------| и программка вылетит не сохранившись, это будет обидно.
    |---------------------------------------| (Тем более, что при автосейве ломается файл сохранения)
    |---------------------------------------| Мне нужен именно выпадающий список. Моя программка считывает
    |---------------------------------------| выделенный в списке элемент, и читает в ИНИ соответствующий
    |__________________________| ключ, после чего загружает список привязанных ключей в обычный
    ЛистБокс ниже, и, выделив один из них, загружает его значение (текст Bs64URL).

    Я себе уже мозги продырявил... Можно, в принципе, поставить функцию-перехватчик, что при изменении
    текста будет заменять его тем, что был раньше, но, может, всё-таки, есть способ попроще?

    P.S. Ни.. себе, браузер глюкнуло, сообщение шесть раз отправил 0_0... Дошло четыре, вроде удалил, если что осталось, дорогие моды, зачистите пожайлуста...
    Последний раз редактировалось agpr-f; 21.08.2010 в 15:39.

  21. #16
    Ученик Аватар для agpr-f
    Регистрация
    13.06.2010
    Адрес
    Одесса, Украина
    Сообщений
    92
    Все, уже не надо, спасибо: поставил условие, чтоб если ИД пункта меньше нуля, он увеличивался до нуля.

  22. #17
    Подскажите, вот по таким вопросам.
    Существует ComboBox который отображает инфу из БД. Поля подгружаются по команде из кнопки.
    1. Как сделать полную очистку ComboBox перед подгрузкой полей что бы не было дублирования?
    2.Возможно ли делать чтение из БД в момент развёртывания ComboBox?


    Заранее спасибо.

  23. #18
    Админ Аватар для vGhost
    Регистрация
    27.07.2011
    Адрес
    Самара
    Сообщений
    2,033
    Цитата Сообщение от gruzoperevozki5 Посмотреть сообщение
    Подскажите, вот по таким вопросам.
    Существует ComboBox который отображает инфу из БД. Поля подгружаются по команде из кнопки.
    1. Как сделать полную очистку ComboBox перед подгрузкой полей что бы не было дублирования?
    2.Возможно ли делать чтение из БД в момент развёртывания ComboBox?


    Заранее спасибо.
    1) Да:
    PHP код:
    c("combobox1")->text null
    2) Теоретически да, но на практике я вам этого очень не советую, т.к. это будет приводить к не долгому подвисанию компонента и это будет очень раздражать пользователя вашей программы. Лучше сделайте чтоб данные в него заполнялись при старте программы, а если надо чтоб они обновлялись в момент работы, то найдите момент когда "вы знаете" что они могли поменяться и обновите комбобокс. В крайнем случае, если форма активна, можно сделать чтоб они обновлялись по таймеру раз в минуту например.

    __________________________________________________ ________
    Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
    Для новичков
    __________________________________________________ ________
    Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения