|
Re:Grid -> вызов процедуры по двойному клику в строке
|
|||
---|---|---|---|
#18+
необходимо чтобы по двойному клику по строке в Гриде вызывалась процедура (в частном случае - модальная форма ввода/редактирования). При этом сам Грид формируется динамически - в связи с чем я не могу для TextBox добавить в событие DblClick - свой вызов... Если какой-нибудь способ (ну типа THISFORM.Grid1.SetAll) чтоб реализовать задачу P.S. Думаю что это точно можно сделать в RunTime - вопрос только каким образом? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 08:46 |
|
Re:Grid -> вызов процедуры по двойному клику в строке
|
|||
---|---|---|---|
#18+
Aklgнеобходимо чтобы по двойному клику по строке в Гриде вызывалась процедура (в частном случае - модальная форма ввода/редактирования). При этом сам Грид формируется динамически - в связи с чем я не могу для TextBox добавить в событие DblClick - свой вызов... Если какой-нибудь способ (ну типа THISFORM.Grid1.SetAll) чтоб реализовать задачу P.S. Думаю что это точно можно сделать в RunTime - вопрос только каким образом? Посмотрите на BINDEVENT. Хотя, если у вас это частое явление, то лучше подключить свой клас текстбокса. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 09:20 |
|
Re:Grid -> вызов процедуры по двойному клику в строке
|
|||
---|---|---|---|
#18+
Вам необходимо вначале создать библиотеку виз.классов и создать в ней свои классы: - грид - текстбокс, который будет лежать в колонках у текстбокса должен быть раработан метод даблклик: стандартный для всех колонок, либо видоизменяемый от каких-то параметров после динамического создания грида необходимо пробежать по всем колонам и заменить базовый класс текстбокс на свой, либо сделать это в ините колонки самого класса грида. биндивент использовать не советую. модальные формы также необходимо использовать аккуратно, в Вашем случае для редактирования вполне возможно использовать немодальные формы примеры реализации - здесь: http://sql.ru/forum/actualthread.aspx?tid=726331 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 09:20 |
|
Re:Grid -> вызов процедуры по двойному клику в строке
|
|||
---|---|---|---|
#18+
Большое спасибо за участие. По поводу BINDEVENT - пролопатил Help но не догнал реальную реализацию в моем случае... По поводу второго способа... *--- Создаю свой класс где определяю событие... PUBLIC TexBoxDblClick DEFINE CLASS TexBoxDblClick AS TextBox PROCEDURE DblClick THISFORM.Commandgroup1.Command2.Click() ENDPROC *THIS.VISIBLE = .T. ENDDEFINE *--- Далее в Ините формы с Гридом делаю следующее... *--- Заполняем Grid.Clomns(i).... FOR j=1 TO THISFORM.nColumn *THISFORM.Grid1.Columns(j).RemoveObject("Text1") THISFORM.Grid1.Columns(j).AddObject("TexBoxDblClick", "TextBox") THISFORM.Grid1.Columns(j).TexBoxDblClick.Visible = .T. THISFORM.Grid1.Columns(j).CurrentControl = "TexBoxDblClick" *THISFORM.Grid1.Columns(j).Sparse = .F. ENDFOR В итоге все проходит без ошибок, однако ничего не происходит...??? ... Где мой "ляп" ? подскажите пожалуйста что я сделал не так или что я не сделал? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 10:30 |
|
Re:Grid -> вызов процедуры по двойному клику в строке
|
|||
---|---|---|---|
#18+
Aklg, поставить гриду AllowCellSelection = .f. и прописать код в DblClick() грида. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 10:37 |
|
Re:Grid -> вызов процедуры по двойному клику в строке
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
нужно создать класс MyTextBox, в котором написать метод DblClick и т.д. ... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 10:42 |
|
Re:Grid -> вызов процедуры по двойному клику в строке
|
|||
---|---|---|---|
#18+
.... Огромный респект ПРОХОДЯЩему !!!!!!!!!!! все работает... я подразумеваю что и DEFINE CLASS и ADDOBJECT - тут совсем и не нужен - пока не пробовал, сейчас посмотрим Еще раз спасибо всем за участие!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 10:48 |
|
Re:Grid -> вызов процедуры по двойному клику в строке
|
|||
---|---|---|---|
#18+
авторя подразумеваю что и DEFINE CLASS и ADDOBJECT - тут совсем и не нужен делайте класс, и учитесь работать с классами. не нужно решать задачу "по-верху". так как такие решения содержат множество недостатков. в идеале разрабатывать приложение с использованием базовых классов не стоит, так как это будет трудно сопровождаемая и дорабатываемая разработка. поэтому Вам сейчас нужно освоить методику создания собственных классов и использования этих классов ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 10:59 |
|
Re:Grid -> вызов процедуры по двойному клику в строке
|
|||
---|---|---|---|
#18+
авторвсе работает... попробуйте из ячейки грида скопировать текс в ворд. а затем спросите пользователей удобно ли им будет работать с Вашей программой, когда им потребуется копипастить значения для поиска и т.д., из формы в форму и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2010, 11:03 |
|
|
start [/forum/topic.php?fid=41&fpage=107&tid=1585649]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 126ms |
0 / 0 |