Объявление

Свернуть
Пока нет объявлений.

Combobox&TextBox

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Combobox&TextBox

    Добрый день!

    Решили реализовать следующую задачу: есть Combobox, привязанный к списку User, есть обычное текстовое поле, есть две кнопки: Добавить запись и Удалить запись. Суть: при нажатии на кнопку добавления записи – отобразить в текстовом поле выбранную запись. Эта часть реализована частично: с трудом с помощью хелпа Form Editor написали строку: edt_AddedUsers.Text (текстовое поле) = Cmb_IntruderPRB.Value (значение из combobox). Запись добавляется успешно, но хотелось бы еще чтобы записи добавлялись поочередно, а не заменой. Сейчас, если выбрать запись «Номер 2», то эта запись заменит «Номер 1». Также в хелпе почему то не указан метод удаления выбранной записи в текстовом поле. Подскажите, пожалуйста, в какую сторону еще можно копать. Заранее благодарю!!!
    С уважением,
    Евгений Хон

  • #2
    Сообщение от yevgeniy_khon Посмотреть сообщение
    с трудом с помощью хелпа Form Editor написали строку: edt_AddedUsers.Text (текстовое поле) = Cmb_IntruderPRB.Value (значение из combobox). Запись добавляется успешно, но хотелось бы еще чтобы записи добавлялись поочередно, а не заменой.
    Этой строкой Вы каждый раз перезаписываете значение текстового поля.
    Попробуйте так:
    Код:
    If edt_AddedUsers.Text = "" Then
        edt_AddedUsers.Text = Cmb_IntruderPRB.Value
    Else
        edt_AddedUsers.Text = edt_AddedUsers.Text & vbCrLf & Cmb_IntruderPRB.Value
    End If
    С уважением, Сергей Осадчий

    Комментарий


    • #3
      Сообщение от Sergey Osadchy Посмотреть сообщение
      Этой строкой Вы каждый раз перезаписываете значение текстового поля.
      Попробуйте так:
      Код:
      If edt_AddedUsers.Text = "" Then
          edt_AddedUsers.Text = Cmb_IntruderPRB.Value
      Else
          edt_AddedUsers.Text = edt_AddedUsers.Text & vbCrLf & Cmb_IntruderPRB.Value
      End If
      Сергей благодарю за помощь, частично решил свою проблему. А не подскажите какое свойство или метод использовать чтобы удалять их текстового поля добавленные записи... Заранее благодарю!
      С уважением,
      Евгений Хон

      Комментарий


      • #4
        У контрола Edit есть свойство Text (OMNITRACKER Form Editor Help, OMNITRACKER Form Editor > Scripting Reference > Edit control > Properties > Text Property). Это свойство доступно для чтения и записи.

        Нет отдельных методов, с помощью которых можно было бы удалить отдельные строки или выделенный фрагмент текста.
        Работать с этим свойством Text очень просто - при записи вы всегда перезаписываете старое значение свойства, целиком.

        Теоритически, можно написать процедуру, которая удалит текущую строку, если ее выделить мышкой.
        Есть свойство CurrentLine, возвращающее индекс строки, с которой начинается выделенный фрагмент.
        Есть свойство Line, возвращающее текст строки, указанной по индексу.
        Таким образом, если одну из строк (или ее часть) выделить мышкой, то edt_AddedUsers.Line(edt_AddedUsers.CurrentLine) вернет текст этой строки.
        Далее с помощью регулярного выражения удаляйте из всего значения edt_AddedUsers.Text значение этой строки, и результат записывайте обратно в edt_AddedUsers.Text.
        С уважением, Сергей Осадчий

        Комментарий


        • #5
          Благодарю!!!
          С уважением,
          Евгений Хон

          Комментарий

          Обработка...
          X