|
Вызов метода на DblClick из любого столбца Grid
|
|||
---|---|---|---|
#18+
Нужно по нажатию DblClick в любом столбце Grid запустить метод Click() кнопки из этой формы. Как сделать это простым способом ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2003, 22:18 |
|
Вызов метода на DblClick из любого столбца Grid
|
|||
---|---|---|---|
#18+
Click грида срабатывает при щелчке ВНЕ зоны данных. Для того, чтобы срабатывал Click на данных, нужно писать код в Grid1.Column1.TEXTBOX1.Click() Это должно быть написано В КАЖДОЙ колонке. Проще всего это сделать, если у тебя 8-я версия Фокса. Там можно указать свой класс textbox для грида. В остальных версиях можно применить один "хакерский" прием - открыть форму, как таблицу, и заменить нужные значения. Но для начала лучше все сделать ручками :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2003, 23:43 |
|
Вызов метода на DblClick из любого столбца Grid
|
|||
---|---|---|---|
#18+
позвольте не согласиться - свой класс textbox для грида можно указать в ЛЮБОЙ версии VFP ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2003, 08:59 |
|
Вызов метода на DblClick из любого столбца Grid
|
|||
---|---|---|---|
#18+
Как раз вот "ручками" в каждой колонке GRID как предлагает karly надоело ! Не по "программолюдски" это... Особенно когда колонок много. Mожет есть что-то похожее на SetAll или программно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2003, 11:30 |
|
Вызов метода на DblClick из любого столбца Grid
|
|||
---|---|---|---|
#18+
Ну что ж, если ты уже попрактиковался в написании "ручками"... ;) Создай класс на основе textbox, например TextBoxClk, и сохрани его в библиотеке myLib.vcx. Сделай резервную копию формы ;) Затем напиши коротенькую программу ********************************************** #DEFINE PARENT_NAME "FORM1.GRID1.COLUMN" && Здесь укажешь правильные имена use myForm.scx Replace Class with "TextBoxClk", ClassLoc with "myLib.vcx" ; for UPPER(Class) == "TEXTBOX" and UPPER(Parent) = PARENT_NAME use in myForm ********************************************** Обрати внимание на строгое равенство названий класса и нестрогое - родительского объекта. Если библиотека классов лежит в другой директории, то ее нужно указывать вот так "..\ClassLibs\myLib.vcx" Все, пожалуй :) Программку стоит запускать после добавления столбцов в грид. В 8-й версии можно просто указать, какой класс использовать в гриде. P.S. Если chagoserg владеет другими приемами автоматизации - охотно посмотрю. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2003, 21:32 |
|
Вызов метода на DblClick из любого столбца Grid
|
|||
---|---|---|---|
#18+
=> karly Извините за серость ! < #DEFINE PARENT_NAME "FORM1.GRID1.COLUMN" && Здесь укажешь правильные имена > это куда ? Если в форме PageFrame c 5 страницами, на каждой GRID, в котором нужно осуществлять указанный вызов DBLCLICK ? Восьмой версией не пользовался. Все на 6.0 SP5. Есть ли веские причины переходить на 8. Семь пробовал, но вернулся на 6, обнаружив отсутствие привычных инструментов(например: WIZARD\SETUP). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2003, 11:25 |
|
Вызов метода на DblClick из любого столбца Grid
|
|||
---|---|---|---|
#18+
Открой форму,как таблицу, и посмотри содержимое полей. Многое станет на свои места :) Если у тебя во всех гридах должен исполняться один и тот же код, то можно условие переписать вот так Replace ... For Upper(Class) == "TEXTBOX" and "COLUMN" $ Upper(Parent) т.е. заменить текстбоксы, у которых родительским объектом является Column А в #DEFINE я текст вынес, чтобы было понятнее ;) и удобнее в будущем редактировать. Это как раз на случай, если у разных гридов должна быть разная реакция на DblClick. Т.е. для грида на первой закладке нужно написать что-то вроде #DEFINE PARENT_NAME "FORM1.PAGEFRAME1.PAGE1.GRID1.COLUMN" По поводу отсутствия Setup Wizard - теперь вместо него Install Shield Express. Шаг, так сказать, навстречу общепринятым стандартам :) Зато появились всякие IntelliSense, функции для работы с XML, и протчая, и протчая... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2003, 13:19 |
|
Вызов метода на DblClick из любого столбца Grid
|
|||
---|---|---|---|
#18+
=>karly Спасибо! Получилось по Вашему. Есть особенность, если в старом GRID1.COLUMN.TEXT1.DBLCLICK() остается просто хотя бы пробел или что-то от себя, то родительский метод не работает. Т.е. метод толжен быть установлен DEDAULT. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2003, 20:00 |
|
|
start [/forum/topic.php?fid=41&msg=32173319&tid=1598263]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 266ms |
total: | 412ms |
0 / 0 |