|
|
|
grid, События при изменении ячейки
|
|||
|---|---|---|---|
|
#18+
Есть поле в grid , если оно изменится , то нужно выполнить действия в другой базе данных. AfterRowColChange .RowChange. Как именно воспользоваться? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2008, 12:31 |
|
||
|
grid, События при изменении ячейки
|
|||
|---|---|---|---|
|
#18+
Grid - объект очень-очень непростой, особенно если ставить задачу добавления, редактирования и удаления данных непосредственно в БД, в сети и в реальном времени, и чтобы маркер текущей записи в неактивном Gridе не пропадал. Прочитать негде. Практически ни в одной программе не применяется. Я потратил на это не один год, начинал с VFP3, можно написать приличную книгу. Разработанные библиотеки на VFP9 оцениваются спецами ~ $40000 (и отнюдь не на все случаи жизни). На версиях VFP до 7.0 лучше не тратить время, особенно при больших мощностях БД (много скрытых подвохов). А события можно отследить в отладчике - при смене ячейки их порядка 20-40 в зависимости от применяемых контролов, клавой или мышью делается переход, теряет ли Grid фокус и др. Конкретно по вопросу - работать надо из активного контрола в событиях When, GotFocus, KeyPress, InteractiveChange, Valid, LostFocus - в зависимости от поставленной задачи, применяемых контролов, способов подключения к данным, буферизации данных и тд. BeforRowColChange не поможет - происходит раньше, чем Valid контрола, хотя при определённых условиях можно, но при этом придётся выполнить программно всю рутину вместо Grid. Удачи. P.S. В вопросе опечатка: свойство должно быть "RowColChange", а не "RowChange". Не забывать, что его значение обнуляется при получении Gridом фокуса, при вызове метода Grid.Refresh ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2008, 01:06 |
|
||
|
grid, События при изменении ячейки
|
|||
|---|---|---|---|
|
#18+
Разработанные библиотеки на VFP9 оцениваются спецами ~ $40000 (и отнюдь не на все случаи жизни). Купите лутше у меня за 1000 американских рублей! :) Конкретно по вопросу В Init (ThisForm.Grid1.Column1.Text1) This.AddProperty("lEdits") В InterActiveChange того же контрола This.lEdits=.T. && произведены изменения В Valid того же контрола IF This.lEdits ** делаем то что нужно, а потом This.lEdits=.F. ENDIF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2008, 02:08 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=167&tid=1588061]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 183ms |
| total: | 274ms |

| 0 / 0 |
