|
|
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
есть объектик grid подстраивающийся под просматриваемую таблицу - в методе init просматривается описание таблицы и создается и настривается нужное количество колонок. захотелось использовать DblClick event - описал его и на уровне grid и на уровне первой колонки и на уровне текста первой колонки - не отрабатывае. Догадываюсь, что метод теряется в процессе выполнения, когда я настраиваю grid. а можно переопределить метод в процессе выполнения , ведь свойства мы переопределяем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 11:38 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
Свойства - это данные, они не исполняются. Методы - исполняемый код. Лучше написать класс колонки и его в свой грид и подставлять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 11:42 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
DblClick на НЕ пустом GRID срабатывает на Control, который в колонке (обычно TextBox). Так, что вам придеться изпользовать еще свой класс Column и класс TextBox в классе Column. А в классе GRID установить свойства Member Class и MemberClassLibrary. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 11:48 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
создать класс column кажется невозможно - это не самостоятельный объект, а вот свой класс textbox сделал и прописал туда событие DblClick да еще и click и rightclick. при создании новой колонки в гриде удаляю старый text1 создаю свой из своего класса и... опять эти события не отрабатывают. что может им помешать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 12:56 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
создать класс column кажется невозможно - это не самостоятельный объект Начиная с 8-ки можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 13:02 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
Алексей Осоздать класс column кажется невозможно - это не самостоятельный объект, а вот свой класс textbox сделал и прописал туда событие DblClick да еще и click и rightclick. при создании новой колонки в гриде удаляю старый text1 создаю свой из своего класса и... опять эти события не отрабатывают. что может им помешать? 1. Какая версия у вас VFP? 2. Приведите код добавления нового TextBox (и удаления старого). С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 13:07 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
у меня VFP 6 код исполнияется в init формы в которой размещен grid c_column="column"+alltrim(str(i_column)) this.grid1.&c_column..removeobject("text1") this.grid1.&c_column..addobject("text1","grid_text") и на самом деле предложенный метод работает :-) мне мешало this.grid1.&c_column..text1.enabled= .f. а нужна она мне было для того что-бы нельзя было редактировать прямо в гриде, а readonly - генерирует лишнее сообщение. но гдето здесь я читал как погасить его - сейчас поищу, или подскажите (если не трудно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 13:27 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
1. Ну я бы еще добавил после AddObject: this.grid1.&c_column..text1.visible= .T. 2. Мне кажется удобнее ссылаться на колонки через коллекцию Columns, чем использовать макроподстановку Код: plaintext 1. 2. 3. 4. 5. 6. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 13:43 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. пользуйтесь конструкцией for each ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 14:24 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
alex11100 Код: plaintext 1. 2. 3. 4. 5. 6. Не советую для VFP 6.0 В старых версиях цикл FOR EACH ... приводил к утечке (leak) памяти. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 14:53 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
ну раз классами пишет и колонки подменяет, надеюсь там не 6 с 6 с визуальными классами не поработаешь (код перегруженный не смотрится) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 15:04 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
Алексей Оу меня VFP 6 С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 15:06 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
ну возможно в сервиспаках поправили там кажется их 4 было или больше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 15:14 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
ну специально сервис паки не ставил и что входило в дистриб не смотрел, но в данном случае пишу на 6-ке хотя знаком и с более свежими. это все конечно хорошо. спасибо за советы. но я всетаки не нашел как погасить сообщение "the control is read-only" это вообще возможно в 6-ке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 15:49 |
|
||
|
изменение метода grid в процессе выполнения
|
|||
|---|---|---|---|
|
#18+
ну и в этом решение нашел - не ставлю readonly, а в методе keypress заканчиваю свою обработку командой nodefa и в объект нажатые кнопочки не попадают. странно лишь то что этой командочки не оказалось в родном help'е ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2006, 16:12 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=238&tid=1590917]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 351ms |

| 0 / 0 |
