|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Здравствуйте! Неожиданная проблема: на форме есть ListBox, RowSourseType=0, заполняется так: 1. в текстбоксы вручную вводятся номер и год документа, нажимается кнопка "Поиск" 2. документ выбирается из списка (Grid), номер и год документа заносятся в текстбоксы программно, вызывается Click() кнопки "Поиск". В случае 2. все работает нормально, из ListBox выбираю нужную строку и обрабатываю В случае 1. НЕ МОГУ выбрать нужную строку - по клику на строку с №>1 курсор устанавливается (возвращается) на первую строку Может, кто сталкивался с подобной проблемой? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 11:23 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
А код метода Click() кнопки "Поиск" предлагается угадать присутствующим? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 11:41 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Dag, Код кнопки "Поиск" Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
Так легче стало? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 13:05 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Jonny540, ListBox, RowSourseType=0 А как заполняется? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 13:10 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Jonny540, ListBox, RowSourseType=0 А как заполняется? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 13:11 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
IgorNG, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 13:34 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Есть уверенность в том, что позиционирование идет в нужной таблице? Попробуй изменить этот кусок следующим образом Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 13:52 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
DagЕсть уверенность в том, что позиционирование идет в нужной таблице? Попробуй изменить этот кусок следующим образом Уверенность есть, проверял. К тому же вариант 2. ведь работает... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 14:06 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Jonny540Уверенность есть, проверял. К тому же вариант 2. ведь работает... Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 14:46 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Dag, ну, лишняя.. и что? не то обсуждаем. мне интересно, почему листбокс глючит (см. топик) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 14:51 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Jonny540 Я так понимаю, что при щелчке по листбоксу указатель прыгает на ПЕРВУЮ ЗАПИСЬ В ЛИСТБОКСЕ? Какието методы листбокса запрограммированы? и не совсем понимаю, зачем делать это Код: sql 1. 2. 3.
если следующей строкой идет очистка Код: sql 1.
если только у вас не запрограммирован метод ProgrammaticChange() листбокса. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 23:08 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Гость555и не совсем понимаю, зачем делать это Код: sql 1. 2. 3.
если следующей строкой идет очистка Код: sql 1.
если только у вас не запрограммирован метод ProgrammaticChange() листбокса. Тут пропущено несколько строк кода, сути дела это не меняет, не хотел никого грузить лишней инфой Я так понимаю, что при щелчке по листбоксу указатель прыгает на ПЕРВУЮ ЗАПИСЬ В ЛИСТБОКСЕ? Скажу больше: - если сначала делать выбор из списка (2., который работает), то начинает работать и 1. - если сначала 1., то ....... - на какую строку первой кликнешь, на ту потом и перескакивает ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2012, 06:19 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Jonny540, Всетаки хотелось бы знать, какие методы листбокса заполнены? можеш сделать тестовую форму с похожим поведением листбокса? мне не удалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2012, 15:49 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Гость555Всетаки хотелось бы знать, какие методы листбокса заполнены? MouseDown, MouseUp, Click можеш сделать тестовую форму с похожим поведением листбокса? мне не удалось.Боюсь, что подобную х.... сделать у меня не получится. Это доработка старой проги, потребовалось добавить на форму несколько объектов, ну и код прописать... Блин, проще новую сделать :( ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2012, 16:25 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Вопрос вдогонку: существует ли ограничение на количество объектов в форме? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2012, 17:29 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Jonny540 MouseDown, MouseUp, Click надо смотреть эти методы Вопрос вдогонку: существует ли ограничение на количество объектов в форме? может и существует, но не думаю, что тебе столько понадобится, берем форму, кидаем на нее кнопку, в кнопку код: Код: sql 1. 2. 3. 4.
запускаем форму, жмем кнопку, ждем n минут, у меня на 63938 фокса зависла, может это и есть ограничение, не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2012, 19:41 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Гость555MouseDown, MouseUp, Click надо смотреть эти методы Оказывается, не надо. Надо было (как ни странно) смотреть метод Load() самой формы ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2012, 16:41 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
А я столкнулся с подобной ситуацией (в VFP9) по другой причине: ListBox начинает упорно отрицать выбор строки, если ему назначить переменную в его свойстве ControlSource. Логически я это понимаю - ведь эта переменная у меня изначально не имеет конкретного значения (пробовал и его присваивать, в методе Form.Load), поэтому начальный выбор и получается таким неопределённым. Но всё равно - я же должен иметь возможность изменить этот выбор, щёлкнув мышкой по другой строчке ListBox'а? По крайней мере, ComboBox такую возможность предоставляет, а у ListBox'а выходит, что хвост управляет лошадью :( Без переменной можно было бы и обойтись, обращаясь напрямую к ListBox.Value, но конкретный вопрос в другом: а как тогда вернуть это выбранное значение из формы? Ведь возврат осуществляется в методе/событии формы Unload, а к моменту его выполнения, насколько я понимаю, ListBox уже не существует и, следовательно к ListBox.Value обратиться уже не получится? Конечно, можно было бы писать выбранное значение в возвращаемую переменную не напрямую через ListBox.ControlSource, а в методе ListBox.LostFocus, но как-то уж это похоже на костыли. К слову сказать, даже в такой ситуации, когда ControlSource блокирует визуальный выбор произвольной строки ListBox'а, щелчок мышкой по выбранной строке всё-таки записывает выбор в переменную, возвращаемую формой. Только хотелось бы, чтобы этот выбор визуально сохранялся в самом ListBox'е - для наглядности. Может, кто знает, как это сделать, не отказываясь от использования ControlSource? И ведь как-то раньше лет 12 назад я это как-то делал, вроде... Забыл :( Образец формы с dbf-ником прилагаю в архиве. Если очистить свойство ListBox.ControlSource - то ListBox начинает работать как нужно (разрешает визуальный выбор мышкой). А мне надо заставить его точно так же работать и при установленном свойстве ControlSource. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2018, 21:41 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
neznajka, Замени источник данных. Вместо списка полей используй запрос. Примерно так Код: sql 1. 2.
Если запрос будешь писать в окне свойств, то кавычки не нужны. Ну, и в Unload формы не забудь закрыть уже не нужный курсор test. Как вариант, можно в качестве источника данных использовать массив (into array). Но тут программировать надо чуть больше При работе с объектом List крайне не желательно в качестве источника данных использовать прямое обращение к полям или файлам. Последствия не предсказуемые. Это режимы, скорее, для обратной совместимости В данном конкретном случае не понятно, почему не был использован обычный Grid. Выбранное значение просто берется из текущей записи. А как эта запись стала текущей (мышкой или клавишами) - уже не важно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2018, 22:41 |
|
Выбор строки в ListBox
|
|||
---|---|---|---|
#18+
Спасибо, ВладимирМ! Вы, как всегда правы - я раскопал свои давние программы на VFP6-7 и там я действительно использовал выводы в массивы. С огорчением увидел, что сейчас уже не понимаю некоторые тогдашние свои программерские построения - но как-то же оно всё-таки прекрасно работало в своё время :) А насчёт того, почему в примере использован не Grid, а ListBox - так мне-то надо было как-то показать мои проблемы именно с ListBox'ом :) В общем, проблема решена. Очень признателен за участие и толковый совет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2018, 23:46 |
|
|
start [/forum/topic.php?fid=41&fpage=10&tid=1581764]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
88ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 278ms |
total: | 474ms |
0 / 0 |