powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как подменить Grid-у базу-источник?
12 сообщений из 12, страница 1 из 1
как подменить Grid-у базу-источник?
    #33030882
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если я базу, с которой черпает данные Grid, (у которого не прописан RecordSource) закрою и открою такой же структуры с тем же алиясом но другую базу (из архива) Grid с формы куда-то утекает... прямо такое вчепятление что у него происходит Destroy...

...Ну и как теперь что? (с) Масяня
...
Рейтинг: 0 / 0
как подменить Grid-у базу-источник?
    #33030886
Glyba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Грид не утекает, а RecordSource у него очищается. Нужно присвоить заново.
...
Рейтинг: 0 / 0
как подменить Grid-у базу-источник?
    #33030943
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я ему нигде RecordSource не задаю, или он сам себе задает?
если так сделать, то у грида появляются все колонки базы, короче это уже не тот грид, это просто Browse получается (я в курсе что грид из него и зделан).

я решил проблему так (например Алиас базы источника Mybase)- открываю еще одну базу/(или AGAIN ту же) но с другим алиасом (MybaseTemp) и прописываю на нее не только RecordSource, но еще и все CollumnControlSource этого грида, затем захлопываю первый источник (MyBase) и под его алиасом открываю то что нужно, затем повторяю опреацию с RecordSource и CollumnControlSource, но уже для Mybase и закрываю ту базу, что была промежуточной (MyBaseTemp).

Но мне кажется это несколько криво...
...
Рейтинг: 0 / 0
как подменить Grid-у базу-источник?
    #33031255
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
велкам http://forum.foxclub.ru/read.php?f=32&i=39&t=15
...
Рейтинг: 0 / 0
как подменить Grid-у базу-источник?
    #33031678
Андрей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заведи временную таблицу в качестве источника.
Заполни её данными прототипа.
Если прототип меняется, очисти временную таблицу (Delete From ...) и
заполни её данными другого прототипа.
Но ни в коем случае не переприсваивай источник RecordSourse - это собъёт тебе все заголовки.

Такой метод годится, если структуы прототипов - одинаковые
...
Рейтинг: 0 / 0
как подменить Grid-у базу-источник?
    #33031853
Glyba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему же не переприсваивать? Все это вполне безболезненно. Какие такие "все заголовки" сбиваются?
Вот код метода Grida:
Procedure RecSourceMove
para act && "S","R"
with THIS
if m.act="S" && "Save"
.Comment=.RecordSource
for each Column in .Columns
Column.Comment=Column.ControlSource
endf
else && "Restore"
.RecordSource=.Comment
select (.RecordSource)
.Comment=""
for each Column in .Columns
Column.ControlSource=Column.Comment
Column.Comment=""
endf
endi
endW

Перед тем, как заменить источник: RecSourceMove("S"), а после: RecSourceMove("R")
...
Рейтинг: 0 / 0
как подменить Grid-у базу-источник?
    #33032274
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Glyba!

Использую практически идентичный код :) Только
1) Повесил это не как простой метод, а как _Assign метод на свойство
lReconstructing - типа поставили свойство в .T. - можно ломать - поставили
обратно в .F. - всё восстановилось.
2) Не использую Comment - мало ли чего там полезного для других частей
класса находится :) Просто добавляю динамически новые свойства гриду и
колонкам - по AddProperty() - с проверкой конечно по PEMSTATUS()

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
как подменить Grid-у базу-источник?
    #33035134
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в ел.книжке все сливают в комент и оттуда - универсальный метод. меня устроило ="" и возврат.
всем спасибо!
...
Рейтинг: 0 / 0
как подменить Grid-у базу-источник?
    #33049501
Андрей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlybaПочему же не переприсваивать? Все это вполне безболезненно. Какие такие "все заголовки" сбиваются?
Вот код метода Grida:
Procedure RecSourceMove
para act && "S","R"
with THIS
if m.act="S" && "Save"
.Comment=.RecordSource
for each Column in .Columns
Column.Comment=Column.ControlSource
endf
else && "Restore"
.RecordSource=.Comment
select (.RecordSource)
.Comment=""
for each Column in .Columns
Column.ControlSource=Column.Comment
Column.Comment=""
endf
endi
endW

Перед тем, как заменить источник: RecSourceMove("S"), а после: RecSourceMove("R")

И при этом заголовки столбцов Grid не превращаются в имена полей источника?
...
Рейтинг: 0 / 0
как подменить Grid-у базу-источник?
    #33050423
Glyba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет.
...
Рейтинг: 0 / 0
как подменить Grid-у базу-источник?
    #33051985
Samvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо присвоить recordSource=""
открыть "новый файл"
присвоить RecordSource="новый файл"
...
Рейтинг: 0 / 0
как подменить Grid-у базу-источник?
    #33058456
Ещё один вариант - сохранить таблицу как класс во временный файл, а затем после смены RecordSource - прочитать оттуда, хотя это не самое лучшее решение - лучше динамический SQL-запрос.

Пример:
IF FILE(HOME_PATH+'temp\mygobase'+ALLTRIM(STR(_SCREEN.Forms[tem1].vsegogobase))+'.vcx')

DELETE FILE(HOME_PATH+'temp\mygobase'+ALLTRIM(STR(_SCREEN.Forms[tem1].vsegogobase))+'.vcx')

ENDIF

THISFORM.Grid1.SaveAsClass(HOME_PATH+'temp\mygobase'+ALLTRIM(STR(_SCREEN.Forms[tem1].vsegogobase))+'.vcx','myttt')

THISFORM.RemoveObject('Grid1')

THISFORM.DataEnvironment.CloseTables

THISFORM.DataEnvironment.Cursor1.CursorSource=tem

THISFORM.DataEnvironment.OpenTables

SELECT gobase_dbkr

COUNT TO THISFORM.allzapisey

GO TOP

SET CLASSLIB TO HOME_PATH+'temp\mygobase'+ALLTRIM(STR(_SCREEN.Forms[tem1].vsegogobase))+'.vcx'

THISFORM.AddObject('Grid1','myttt')

THISFORM.Grid1.Visible=.T.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как подменить Grid-у базу-источник?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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