powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Событие в Гриде (программно-созданным)
16 сообщений из 16, страница 1 из 1
Событие в Гриде (программно-созданным)
    #38289829
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создала Грид в Form.Init, вернее определилась с кол-вом колонок и их названием. (эти параметры зависят от рез-та запроса)
Трудности возникли при создании событий .Grid1.ColumnN.Text1.RightClick в результате которого нужно извлечь .Text1.Value
Посредством BINDEVENT(**.Text1,"RightClick",ThisForm.Grid1,"RightClick") перенаправила событие в Грид, но как извлечь значение ячейки? (название колонки динамическое)
по всей видимости BINDEVENT не подходит?
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38289860
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Людмilaно как извлечь значение ячейки?
Код: sql
1.
2.
ThisForm.Grid1.RightClick:
MESSAGEBOX(this.Value)
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38289900
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по логике This.value это есть ThisForm.Grid1

но Работает! Спасибо!
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38289961
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Людмila, просто в хелпе про grid.value как-то невнятно написано, так что я предположил, что grid.value=grid.activecell.value. Просто потому, что в самом гриде это value вроде бы ни к чему, кроме ячеек, относиться не может. Проверка показала, что я угадал :)
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38289968
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А задумка в следующем:
При RightClick значение ячейки анализируется с последующей возможностью его удаления-редактирования!
Значит нужно знать ещё и название столбца таблицы-источника (как бы заодно и его извлечь?)
repl X3 with 'измененное значение'
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38289975
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Людмila, а что, grid.activecolumn выдаёт неверные значения? Или сложности с соотнесением номера столбца и имени поля? Так ведь грид формируется "программно", т.е. всё это вами же вроде изначально и задаётся... или я чего-то не понял?
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38290037
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grid.activecolumn выдает значение верное(к примеру-4), пытаюсь связать его с значением .ColumnN.ControlSource
В программе оно присваивалось в цикле т.е. .ColumnN.ControlSource=X3 (X3-переменная)
Работаю.
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38290224
ЛДПР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Людмila,

Bindevent() + Aevents(ArrayName,0)
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38291139
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Bindevent() + Aevents(ArrayName,0)[/quot]
не совсем поняла как это будет работать (вернее совсем не поняла)

Реализовала задуманное выйдя на .ColumnN.ControlSource
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38291493
ЛДПР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Людмila,

Create Cursor csrTest (Id i,Name v(10))
Insert into csrTest(id,Name) values(1,Sys(2015))
Insert into csrTest(id,Name) values(2,Sys(2015))

m.loForm = Createobject("frmTestClass")
m.loForm.Show()


Define Class frmTestClass As Form
caption = "Test RightCkick"
hook = .Null.
Procedure Init
This.hook = This
This.AddObject("grdTest","grid")[SRC DELPHI][/SRC]
This.grdTest.Move(0,0,This.Width,This.Height)
This.grdTest.Visible = .T.
Bindevent(This.grdTest.Columns(1).Text1,"RightClick",This,"onGridTextBoxClick",1)
Bindevent(This.grdTest.Columns(2).Text1,"RightClick",This,"onGridTextBoxClick",1)

Procedure onGridTextBoxClick
Local laObject(1)
Aevents(m.laObject,0)
If Vartype(m.laObject(1))="O"
Messagebox(Sys(1272,m.laObject(1))+".value = "+Transform(m.laObject(1).Value))
Endif
Procedure QueryUnload
this.Hook = .Null.
Enddefine
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38291495
ЛДПР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЛДПР,


This.AddObject("grdTest","grid")[SRC DELPHI][/SRC]
Надо заменить на
This.AddObject("grdTest","grid")
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38291573
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо конечно,
но Грид (в моем случае) на форме уже создан, и основные его параметры (кол-колонок, их название и т.д) на этапе проектирования не известны и создается в событии Init формы после получения этих данных из SQL-запроса
и ProcedurУ onGridTextBoxClick мне прсто некуда впихнуть, у меня вот это рулит:
************************
Form3.Grid2.ColumnCount=_tally
FOR i=1 TO _tally
cn='Form3.Grid2.Column'+TRANS(i)
t2='_'+DTOS(array(i))
WITH &cn
.header1.caption=DTOC(array(i))+CHR(13)+funct(array(i))
.ControlSource=t2
BINDEVENT(.Text1,"RightClick",ThisForm.Grid1,"RightClick")
BINDEVENT(.Text1,"DblClick",ThisForm.Grid1,"DblClick")
ENDWITH
NEXT
чтото вроде работы vfpxtab.prg
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38291588
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо этого
ЛюдмilaForm3.Grid2.ColumnCount=_tally
FOR i=1 TO _tally
cn='Form3.Grid2.Column'+TRANS(i)
t2='_'+DTOS(array(i))
WITH &cn
...
лучше так написать
Код: sql
1.
2.
3.
4.
FOR i=1 TO Form3.Grid2.ColumnCount
  t2='_'+DTOS(array(i))	
  WITH Form3.Grid2.Columns(i)
...
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38291615
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так дествительно получше будет. + Информативнее.
Спасибо! переделаюю
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38291874
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Людмila,

лучше писать

for each loColumn in ...columns

locolumn....

endfor
...
Рейтинг: 0 / 0
Событие в Гриде (программно-созданным)
    #38291957
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И это возьму на вооружение. Спасибо!
Плюхаюсь с проектом, который изобилует отображеним данных посредством Грида.
Многое ещё в переди. В голове одни контуры предстоящей работы. А вот знаний (особенно относительно Грида) увы недостаточно.

Спасибо за помощь.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Событие в Гриде (программно-созданным)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]