|
Не работают события в Grid'e если создаю его вручную
|
|||
---|---|---|---|
#18+
Всем привет! Проблема такая: есть объект Grid1 . Ставлю число столбцов ColumnCount = 3. Лезу через окно Properties в событие DblClick объекта Grid1.Columns(3).Text1 . Ставлю там MessageBox("дабл клик") . Всё работает отлично. Но мне нужно генерировать произвольное число столбцов в Grid1 в зависимости от ситуации в программе. Я ставлю: thisform.grid1.ColumnCount=3 FOR i=1 TO N thisform.grid1.AddColumn(ln_var+3) ENDFOR thisform.grid1.RecordSource="tdv" thisform.grid1.columns(1).header1.caption="Заголовок1" thisform.grid1.columns(1).ControlSource="tdv.kv" thisform.grid1.columns(2).header1.caption="Заголовок2" thisform.grid1.columns(2).ControlSource="tdv.data_obs" thisform.grid1.columns(3).header1.caption="Заголовок3" thisform.grid1.columns(3).ControlSource="tdv.slesar" После этого уже событие DblClick в третьем столбце не срабатывает. Подскажите плиз, как описать реакцию на событие, чтобы она работала при задании параметров Grid'а вручную как описано выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2008, 08:44 |
|
Не работают события в Grid'e если создаю его вручную
|
|||
---|---|---|---|
#18+
Правильный подход - использовать свой класс стобца грида. Не такой правильный, но работающий в 9-ке - использовать функцию BindEvent() ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2008, 08:56 |
|
Не работают события в Grid'e если создаю его вручную
|
|||
---|---|---|---|
#18+
BurnПравильный подход - использовать свой класс стобца грида. Не такой правильный, но работающий в 9-ке - использовать функцию BindEvent() А не подскажете поподробнее как сделать это через BindEvent()? Чё-то я из хелпа ничё не понял. Кто должен быть oEventSource, oEventHandler и cDelegate в моем случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2008, 09:16 |
|
Не работают события в Grid'e если создаю его вручную
|
|||
---|---|---|---|
#18+
Чтото вроде: BINDEVENT(ThisForm.grid1.Column1.Text1, 'DblClick', ThisForm, 'MyDblClick') BINDEVENT(ThisForm.grid1.Column2.Text1, 'DblClick', ThisForm, 'MyDblClick') BINDEVENT(ThisForm.grid1.Column3.Text1, 'DblClick', ThisForm, 'MyDblClick') А в методе ThisForm.MyDblClick с помощью функции AEvents() определяешь какой объект вызвал выполнение метода ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2008, 11:51 |
|
Не работают события в Grid'e если создаю его вручную
|
|||
---|---|---|---|
#18+
> Автор: Burn > Чтото вроде: > BINDEVENT(ThisForm.grid1.Column1.Text1, 'DblClick', ThisForm, 'MyDblClick') > BINDEVENT(ThisForm.grid1.Column2.Text1, 'DblClick', ThisForm, 'MyDblClick') > BINDEVENT(ThisForm.grid1.Column3.Text1, 'DblClick', ThisForm, 'MyDblClick') > > А в методе ThisForm.MyDblClick с помощью функции AEvents() определяешь какой объект > вызвал выполнение метода joker1984 Оно конечно работает, но случаются плавающие глюки, то дважды выполняется, то вообще не выполняется. Делал себе обработку кликов по Chek'ам в гриде. Прочитав http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=591293&msg=6132270] 12345вышелзайчикпогулять , если глюки будут повторятся буду переделывать и все новое буду делать таким образом. Спасибо ему за науку :) -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2008, 18:22 |
|
|
start [/forum/topic.php?fid=41&msg=35573210&tid=1587221]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 321ms |
total: | 456ms |
0 / 0 |