|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
Собственно Foxpro 9 Есть форма на ней TreeView и Pageframe... TreeView используется как общая навигация по-нескольким таблицам... В TreeView при выборе вильтр на сортировку определенной группы товара... на Pageframe в Optiongroup к нему добавляется еще фильтр для отображения группы товара выбранного поставщика... Вроде все путем, но когда scroll'ом перематываешь на конец списка появляются лишние,несуществуюшие строки list'а или тупо пустые строки...Если покрутить туды-сюды то посля все стает как надо... Шо делать с ентим не пойму...Пробовал и переход на первую\последнюю запись list'a и ешшо всякие извороты, но результат тот же... Есть какие мысли как ето побороть...Варианты типа Requery() не прут... заранее благодарность..) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2012, 19:44 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
Народ смотрит... и молчит.... тогда так: кусок живого примера упрощ... DO CASE CASE thisform.pageframe1.page5.optiongroup1.Value=1 (показать весь список товара) SET FILTER TO CASE thisform.pageframe1.page5.optiongroup1.Value=2 (показать непосчитанный) SET FILTER TO uchet.статус="непосчитан" CASE thisform.pageframe1.page5.optiongroup1.Value=3 (показать расхождения в учете) SET FILTER TO (uchet.колич<>uchet.колич_учет AND uchet.статус="учтен") ENDCASE индекс по полю "статус" учтенные строки в liste находятся внизу при переключении между : весь товар и непосчитанный - учтеные строки тупо закрашиваются цветом pageframe'а, но остаются на месте, если по ним тыкать) то реагируют как без фильтра... Понять не могу почему при выборе 1 и 2 пункта количество строк в list'e не меняется, а при выборе 3 - все как и должно... Варианты типа: list1.Requery() list1.Refresh list1.Selected(1)=.t. ListIndex=list1.ListCount list1.Selected(list1.ListCount)=.t. list1.DisplayValue=list1.Value list1.SetFocus ничего не решили... отсюда вопрос - как сделать чтоб количество строк в List'e было одекватно фильтру? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2012, 16:52 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
если использовали set filter to [...], то затем GO TOP [IN <alias>] ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2012, 17:05 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
Просто set filter - это условие, а go [N|...] - это действие. Поскольку вы используете работу с таблицей из самого Фокса - то для исполнения любого действия над таблицей - нужно произвести хотя бы одно новое обращение к этой таблице (ну, примерно так), чтобы изменить состояние отображения таблицы... Если Вы будете когда-нибудь пользовать T-SQL (MSSQL internal languidge) - то заметите, что там тоже присутствует некая команда GO - (конечно, никакого отношения к вышеприведенному примеру не имеющая, но всё же...) как команда, гарантированно пытающаяся исполнить транзакции для всего вышенаписанного до неё кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2012, 17:22 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
Вопрос нестандартный. Листбоксы мало кто использует, а тем более так изощренно. Лично я предпочитаю не привязывать листбокс к таблицам, а просто перезаполняю при необходимости. Как-то так: Код: sql 1. 2. 3. 4. 5.
Если все-таки нужна привязка к таблице - возьми грид. OPSXXLНарод смотрит... и молчит.... тогда так: кусок живого примера упрощ... Если хочешь ответ по существу - собери в отдельную форму демонстрацию своей проблемы и выложи сюда. Надо руками потрогать - может чего и придумается. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2012, 20:32 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
OPSXXL, Dima TВопрос нестандартный. Листбоксы мало кто использует, а тем более так изощренно.Ну почему же? Вопрос вполне стандартный, и листбоксы многие используют. И еще не так изощрённо... Dima T Как-то так: ThisForm.List.Clear()Это да - надо почистить перед заполнением, иначе, если записей по новому условию окажется меньше, чем по предыдущему, то лишние будут в листе болтаться. Так что при каждом изменении условий отбора делайте как посотетовал Dima T . ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 09:59 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
list шустрее чем Grid, задача была сделать что-то серьезное для не серьезного железа, плюс глюк у Grid с полосой прокрутки при фильтрах решать нет жедания.... собрать пример довольно не просто...да и найти все,что может влиять тож оказалось непросто... Всем большое спасибо, для решения пришлось добавить пару параметров... но вопрос остался в воздухе... чем же отличаются фильтры 1 и 2... И передвижение по таблице, и по строкам и ешшо куча маневров - результат тот же...походу что-то с русским текстом связано..., тупо слово "непосчитанный" не нравится...) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 10:09 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
OPSXXL , может быть, и действительно не нравится текст... А если сделать индекс не просто по uchet.статус , а по выражению, например, LEFT(uchet.статус,3) ? И ставить фильтр с помощью строгого соответствия SET FILTER TO left(uchet.статус,3)=="неп" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 16:39 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
AndreTM, Короче достало..) Пробовал и LIKE( ) и ешшо строгих соответствий, и язык и вааще... Всем спасиб... походу "истина где-то рядом.." но жедания ковырять пока нет... если решу-то обязательно отпишусь... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 19:40 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
А фильтр вообще-то на ту таблицу накладывается на какую должен? Может где-то происходит явный или не явный переход в другую рабочую область перед наложением фильтра? Попробуйте явно указать, в какой рабочей области надо накладывать фильтр Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Кстати, ListBox не может быть шустрее Grid по ряду причин ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2012, 20:20 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
ВладимирМ, У меня 10 независимых таблиц... Область указываю и Select... и в самом фильтре рабочую область Не работает только фильтр с условием SET FILTER TO uchet.статус="непосчитан" in 8 остальные работают как надо... Переход делал и на 1 и на последн. запись таблицы... И "непосчитан" менял и язык,и код страницу... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 09:20 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
OPSXXL, Извините за назойливость, это нужная таблица и нужный фильтр? Вы проверяли командами dbf(), filter(), browse перед заполнением листбокса? Чудеса ведь иногда случаются :) Не верю, что это из-за русского текста... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 14:43 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
Jonny540, Таблица учета товара на торговых точка+ сведение на склад... Фильтр нужен для ускорения пересчета... а то по-старинке продавцы погибают на учете..) dbf(), filter(), browse все сразу проверял... Проблему решил добавлением ешшо столбца в таблицу... Так что тут бабка надвое сказала... Или "Перемудрил" где-то... или глюк... В любом случае уже в ентой куче писанины с ""изворотами" не найти... Всем большое спасибо за участие.. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 19:12 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
Опять встала ента же проблема.... Наро - кто может подсказать в чем проблема? пример: search=" на русском" - болтаются пустые строки в листе search=" на английском" - все путем и без пусты строк и косяков SET FILTER TO (LOWER(ALLTRIM(search))$lower(postuplenie_all.группа) что с ентим делать ума не приложу, всё перепробовал и кодовую страницу и еще всяких всячин... может кто сталкивался? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2012, 23:06 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
Попробуйте для контроля сделать SET FILTER, а затем SELECT ... WHERE с тем же условием. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2012, 05:42 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
В выражении SET FILTER TO (LOWER(ALLTRIM(search))$lower(postuplenie_all.группа) количество открывающих скобок не соответствует количеству закрывающих ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2012, 18:55 |
|
Неправильно обновляется listbox...Или я туплю,или SP2 или ешшо кто...Need help
|
|||
---|---|---|---|
#18+
При проблемах именно с русскими символами первое, что надо сделать, это проверить кодовые страницы Код: sql 1. 2.
Кроме того, следует проверить кодовую страницу той формы (файла SCX) в которой выполняется отображение данных. А также всех используемых классов (файлов VCX) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2012, 19:13 |
|
|
start [/forum/topic.php?fid=41&msg=37952674&tid=1583240]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 270ms |
total: | 425ms |
0 / 0 |