126

(10 replies, posted in Russian)

DriveSoft wrote:

m.prokhachev
Именно так я сделал в примере, который дал выше. Просто добавил на форму невидимый компонент.

Ах вот оно чего... А я все думал, нафига он...

127

(10 replies, posted in Russian)

DriveSoft wrote:

Проще всего это сделать, используя две кнопки с действием Поиск, одна из которых будет приводить грид в первоначальное положение.

Возникла проблема: я не могу настроить действие "поиск" на кнопке, так как требуется выбрать те компоненты формы, которые участвуют в поиске... А так как я хочу возвратить грид в исходное (сразу после показа формы) состояние, то мне нет смысла указывать компоненты в принципе...

Выход пока вижу такой: сделать невидимый компонент и не связывать его ни с какими полями таблиц, и просто указать в настройках на кнопке возврата грида в исходное состояние (с действием "поиск"). Но еще не проверял эту версию...

128

(10 replies, posted in Russian)

Хм... А ведь логично же!  Мог бы и сам додуматься...

То есть на одной форме две кнопки с действием "поиск" поставить - одну собственно на поиск, другую - на возврат в исходное состояние?..

129

(10 replies, posted in Russian)

Хочу:
1) имеется TableGrid на форме, который при показе формы автоматом наполняется всеми записями из БД
2) необходимо организовать вывод результатов поиска через EditText (или ComboBox) в этот же грид
3) при этом при очистке результатов поиска необходимо вернуть изначальное наполнение этого TableGrid, так сказать, вернуть как бы в момент показа-запуска формы

Нюансы:
1) изначальное содержимое и результаты поиска могут различаться по количеству и очередности столбцов-полей

Варианты решения:
1) создавать второй грид и подсовывать на форму в момент поиска поверх изначального грида, играясь с Visible обоих гридов, при этом поиск осуществляется через ComboBox (опробовал - работает)
2) ... (дальше пока не пробовал вариант с EditText)
3) в идеале хотелось бы хотя бы тупо присвоить изначальный набор данных или SQL-запрос, его создающий, в буферную переменную, произвести вывод результатов поиска, и при очистке поиска вернуть через буфер прежнее наполнение в TableGrid

P.S. А вообще, хотелось бы больше информации по используемому в MVD языку, компонентам, их свойствам и методам, справка уж очень урезана, если юзать MVD 4.5, то не все свойства и методы описаны и прописаны)

derek, вот и я о том же... интуитивно подозревал, что как-то так и должно быть, но не могу найти свойства и методы TableGrid, относящиеся к SQL-запросу, который заполняет этот самый компонент результатами запроса.

Дело в том, что у вас через СomboBox реализован поиск, а у меня - через EditBox, И получается, когда я оставляю его пустым, жму кнопку "поиск"  - то выдается все тот же самый поисковый SQL-запрос, но в результате - ВСЕ записи, которые возможны.

А в идеале я хотел бы вернуться к тому отображению, которые было при вызове собственно формы. Потому как поисковый запрос несколько меняет количество изначально выводимых в TableGrid столбцов.

Реализовать через СomboBox не представляю возможным, так как в выпадающем списке будет тогда порядка 300 значений. Конечно, можно бы и сам СomboBox сделать Editable, но... я пока еще думаю.

Правильно ли я понял, что нельзя использовать один и тот же TableGrid для начального вывода информации из базы (при появлении формы) и для поиска (при работе уже на этой форме)? Или можно как-то очищать TableGrid и возвращать в него ту информацию, которая была до процедуры поиска?