powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Передача данных в Grid
25 сообщений из 38, страница 1 из 2
Передача данных в Grid
    #33882546
Scorpio_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Помогите сталкнулся с такой проблемой. Делаю такой запрос


Код: plaintext
1.
2.
3.
4.
5.
 

SQLEXEC(con_handle, "select mig_pasp.*, strana.text_ from li, li_mig_pasp, mig_pasp,                 strana where Li.NI = ?nNi and;
              Li.NI = li_mig_pasp.li_ni and li_mig_pasp.mig_pasp_ni = mig_pasp.ni and strana.kod_ = mig_pasp.grajdanstvo_","cllist")


Как мне правильно отправитьь этот курсор в Grid, куда и что необходимо прописать,
в свойствах GRID - INIT, и на форме в INIT затолкал эту строку, ( ругаться что его нет), но данные не отображает.

в GRID - RECORDSOURCE прописал также cllist
в GRID - CLOUMN1 - CONTROLSOURCE прописал cllist.ni

чего мне еще нехватает ???
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882565
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqlexec делать в Load form'ы
в гриде
RecordSourseType - Alias
RecorSource - cllist
Ну и колонки какие надо соответственно
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882593
Scorpio_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что раньше вызывается INIT или LOAD, а то у меня все SQLEXEC-и в INITe это что, придется их все туда заталкивать, или есть еще какои - нибудь способ ??
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882637
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первым идет LOAD и загрузку данных надо делать там.
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882669
Scorpio_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А теперь такой вопрос, как мне туда передать LPARAM, у меня они туда не хотят залазить, определяются в INIT, а там ошибку выдает, как мне быть, просто мне необходимо туда передать номер nNi
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882678
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходящийПервым идет LOAD и загрузку данных надо делать там.
В LOAD формы нельзя делать инициализацию GRID - его еще нет.
Проще и загрузку данных и инициализацию GRID делать в контрукторе формы (INIT) или в методе формы, вызываемого из него.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882683
Scorpio_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно поподробней, что и куда прописать, а то я только учусь, перехожу с Delphi на FOX, и не все понимаю, там все проще.
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882730
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
перехожу с Delphi на FOX

вот и переходи правильно

у лисы есть объект КА
ините подними ка
опиши ему свойства
и дерни данные
и затем привяжи грид
после того как потрогал есть у КА
есть функция TABLEUPDATE( )

вот и будет все проще
можешь из всего этого сделать
мини-фрейм на классах
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882775
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scorpio_mdА можно поподробней, что и куда прописать, а то я только учусь, перехожу с Delphi на FOX, и не все понимаю, там все проще.
Событие INIT любого объекта VFP - это примерный аналог конструктора в других языках с поддержкой ООП.
Параметры, которые передаются в форму при ее вызове (DO FORM ffff WITH pa1, par2, ...) нужно принять в событии INIT:
LPARAMETERS lnPar, lcPar2, ...

Не знаю, как в Delphi, а в VFP INIT контейнера происходит ПОСЛЕ INIT всех объектов внутри контейнера.
Дальше, думаю, что разберетесь сами.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882798
Scorpio_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я то параметры принимаю, но LOAD формы их не видит, он раньше срабатывает чем INIT.
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882860
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://sql.ru/forum/actualfile.aspx?id=2930620

посмотри здесь как поднимается грид

здесь классы
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882894
Scorpio_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
ВСЕМ СПАСИБО. ЗАРАБОТАЛО 
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33882936
Фотография космонахт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Создай класс на базе грида
2. Добавь к нему свойства : calias, csql, flag_poisk,id

В инит этого грида добавь такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
LOCAL m.nCount, m.i
m.nCount= 0 
m.i= 0 
lcNameAlias	=	'['+this.calias+']'

DIMENSION af[ 1 , 1 ]
this.RecordSource=''

cSql	=	this.csql

SQLExec(gnconnect,cSQL,&lcNameAlias)

SELECT &lcNameAlias
IF this.flag_poisk= 1 
	LOCATE FOR id=this.id
	IF NOT FOUND()
		GO top
	ENDIF 
ENDIF

this.id	=	id
IF this.RecordSourceType= 1  && alias
	this.RecordSource=&lcNameAlias

	m.nCount=AFIELDS(af,&lcNameAlias)
	
	FOR m.i= 1  TO this.ColumnCount
		 this.Columns(m.i).controlsource= af(m.i, 1 )
	ENDFOR

ENDIF 




Код прозрачный.
Теперь наследуй от этого грида объекты и располагай на формах.

В свойстве сsql указывай строку запроса к серверу.
В свойстве calias - имя возвращаемого курсора

Чтобы обновить данные просто вызывай в нужном месте thisform.myGrid.ini

Для этого примера в возвращаемом курсоре обязательно д.быть поле id

ничто не слишком!
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33883038
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
слушай, но ведь можно же жить без макроподстановок

ну нафиг'['+this.calias+']'
что бы затем заколебаться??


lcAlias = sys(2015)
if sclexec(...,lcAlias)<0
retu .f.
endif
this.recordsourse = lcAlias

и т.д.

зачем макроподстановка??
чтобы проблымов больше было??
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33883073
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь можно обойтись и вполне нормальным "говорящим" именем курсора и не пользоваться SYS(2015). Дабы потом не ломать голову в Data window в попытках определить, что же у нас в курсоре с многозначительным именем _1AGDASHD.
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33883091
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
когда пишешь классы
мне имя алиаза по-барабану
и мне оно ничего не говорит

мне что "курсор" что "52555"

у меня мозга по-другому работает

а макроподстановкой писать низя


взметни 3 раза форму
у которой взлет с именем курсора "cursor"

угу
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33883095
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хорошо

lcAlias = this.name+sys(2015)

а нафиг макроподстановки??
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33883132
Scorpio_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушайте, грид я вобщем запустил, а теперь такой вопрос, есть поле NI, как мне оттуда вытащить правильно значение, я пишу в GRID1.AfterRowColChange:

mmm = this.coLUMN1.text1
или
mmm = this.coLUMN1.nI_
не работает, хотя не знаю точно, но переменная получается object, но это происходит в момент открытия грида. Какое мне там еще прописать условие ???
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33883162
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну если уж знаешь какой алиаз

то и пишешь

mmm = table.field

а если уж по-хитрому пишешь, то так
mmm = evaluate(lcAlias+".field")
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33883172
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Scorpio_md
лиса - это не делфя
мозги разворачивай в сторону источника
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33883515
Scorpio_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно еще вопос но не по этой теме, с гридом разобрался работает отменно, так вот, в гриде я выбираю данные паспортов, есть еще кнопка добавления паспорта, там открывается новая модальная форма, как мне сделать так, чтобы после записи в новую форму у меня этот паспорт добавился в этот грид, ну и курсор соответственно.
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33883562
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Данные добавляются не в грид, а в таблицу/курсор, лежащий под ним. В самом гриде ничего нет, он не хранит в себе никакой информации. Кроме своих свойств, конечно же. После добавления записи сделай grid.Refresh() или grid.Setfocus() и будет тебе счастье.
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33883589
Scorpio_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непошло, она насколько я понял при закрытии формы (relase), когда добавил паспорт, из формы откуда я открывал не обновляет ее заново, теперь мне какимто образом обновить все курсоры. Пробовал писать:


DO FORM mig_pasp WITH cNi

thisform.Refresh или thisform.grid1.Refresh

Это в кнопке открытия формы заполнения паспорта, но после закрыти ничего не происходит, как мне быть ??
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33883688
Scorpio_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал писать

thisform.init

возникает ошибка из-за того что на форму передаются до этого LPARAM
Как мне быть с курсором и гридом, как мне их правильно обновить ??
...
Рейтинг: 0 / 0
Передача данных в Grid
    #33884077
Scorpio_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объявление глобальных переменных, и потом передача их на предыдущую форму, это не выход, неужели нет другого способа ??
...
Рейтинг: 0 / 0
25 сообщений из 38, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Передача данных в Grid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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