Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
(VFP7) Grid.InteractiveChange...
|
|||
|---|---|---|---|
|
#18+
На форме есть 4-колоночный Grid (CheckBox, TextBox, CheckBox, CheckBox), под который в процессе работы в качестве источника подшивается dbf-ник с очередной выборкой и структурой: Logical, Character, Logical, Logical. И все нормально работает. НО: есть необходимость после установки щелчком на одном из CheckBox’ов 3-й колонки значения .T. – перенести СООТВЕТСТВУЮЩЕЕ ему TXT-значение из 2-й колонки в текстовое поле, расположенное здесь же на форме (или в его переменную-ControlSource). Попытки сделать это через метод CheckBox.InteractiveChange ни к чему не приводят, т.к. в процессе выполнения данного метода указатель остается на первой записи таблицы-источника. Правда, нужного результата УДАЛОСЬ добиться через CheckBox.LostFocus, но уж очень это неудобно – принудительно уходить из Grid’а. Можно еще скомбинировать CheckBox.InteractiveChange с методом SetFocus того текстового поля на форме, значение которого и необходимо изменить в результате. Но, может, есть какой-то более «стройный» путь? Вот если бы вычислить детально, в какой момент переносится значение из CheckBox’а в таблицу источник и перемещается ее указатель… Пытался через Set Step On – ничего не выходит. Подскажите, как склонить Grid к сотрудничеству? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 14:53 |
|
||
|
(VFP7) Grid.InteractiveChange...
|
|||
|---|---|---|---|
|
#18+
поясни как это CheckBox.InteractiveChange не работает? А recno() что показывает? А галочку он куда ставит? В первую позицию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 19:23 |
|
||
|
(VFP7) Grid.InteractiveChange...
|
|||
|---|---|---|---|
|
#18+
Да работать-то он работает. И галочку ставит, куда надо. Только все это происходит только после ухода фокуса с этого CheckBox'а. А если в его методе InteractiveChange указать: CheckBox::InteractiveChange select temp_otc && таблица источник для Grid'а, содержащего данный CheckBox1 browse то увидим, что указатель находится на 1-й записи, и ничего не изменилось в поле-источнике данного CheckBox'а. Иными словами, изменения происходят только после полной отработки метода InteractiveChange и начала работы какого-либо другого метода, например - LostFocus(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 23:47 |
|
||
|
(VFP7) Grid.InteractiveChange...
|
|||
|---|---|---|---|
|
#18+
neznajkaИными словами, изменения происходят только после полной отработки метода InteractiveChange и начала работы какого-либо другого метода, например - LostFocus(). Может, поможет? CheckBox.InteractiveChange Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 00:16 |
|
||
|
(VFP7) Grid.InteractiveChange...
|
|||
|---|---|---|---|
|
#18+
Hi neznajka! chk.Valid() или Click() С грида никуда уходить не нужно! Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 00:44 |
|
||
|
(VFP7) Grid.InteractiveChange...
|
|||
|---|---|---|---|
|
#18+
Во, блин... Мне и в голову не пришло. Действительно, должно сработать. Сейчас приду на работу - попробую. Спасибо всем за участие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 08:58 |
|
||
|
(VFP7) Grid.InteractiveChange...
|
|||
|---|---|---|---|
|
#18+
Проверил. В общем, все предложенные способы срабатывают примерно одинаково, и без "насильного" смещения фокуса. Что и нужно было. Исключение составляет тот случай, когда на таблицу-источник Grid'а наложен Set Filter - тогда значения выдаются по довольно мудреному алгоритму. В таком случае - безукоризненно работает только метод CheckBox.LostFocus() Но я все равно всем признателен за советы, т.к. теперь знаю, в каком направлении искать оптимальное решение. Теперь уверен, что победю :) Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 12:21 |
|
||
|
(VFP7) Grid.InteractiveChange...
|
|||
|---|---|---|---|
|
#18+
В 8 и 9 версии есть очень полезная функция BINDEVENT с ее помощью можно творить над Grid настоящие чудеса вообще не напрягаясь... Good luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2005, 12:51 |
|
||
|
(VFP7) Grid.InteractiveChange...
|
|||
|---|---|---|---|
|
#18+
To Sergey Ch: Спасибо. Совет о переходе уместен, но, увы, у меня до сих пор осталась проблема: http://www.sql.ru/forum/actualthread.aspx?tid=126776#1004022 Так что - пока извращаюсь доступными средствами :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2005, 00:34 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33037880&tid=1594338]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 387ms |

| 0 / 0 |
