powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Курсорадаптер с динамической строкой селекткмд
19 сообщений из 19, страница 1 из 1
Курсорадаптер с динамической строкой селекткмд
    #35474676
guest12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
T-Sql + Vfp90

прошу показать пример
с курсорадаптером и динамической строкой
селекткмд

к примеру есть грид, привязали к каду
со строкой
select * from tt where id=1

далее
изменяем
select * from tt where id=1 AND ...

при выполнении метода cursorfill происходит разрушение грида

каким образом необходимо поступить?
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35474747
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475456
guest12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извините, ответ абсолютно не в тему

объясню еще раз
Vfp + T-Sgl-ODBC

если написать
Код: plaintext
1.
2.
3.
4.
5.
...selectcmd= "select ... from where tt=?tnValue"
tnValue =  1 
...cursorfill(..)
tnValue =  2 
...cursorRefresh()

все будет красиво и замечательно

если написать
Код: plaintext
1.
2.
3.
4.
...selectcmd= "select ... from where tt=1"
...cursorfill(..)
...selectcmd= "select ... from where tt=1 and ..."
...cursorfill(..)

происходит отвязка от грида

возможно ли как-то написать динамическое выражение,
чтобы использовать cursorRefresh()
или необходимо другое решение?
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475571
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest12345или необходимо другое решение?

Да, другое решение, при cursorfill(..) предыдущий курсор разрушается и создается новый.
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475650
guest12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошу указать на решение

нужно динамическое условие
есть решение пердачей параметра в ХП + динамический запрос,
но это не устраивает по некоторым соображениям

что еще можно придумать?
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475696
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поискать на просторах интернета CABuilder и пользоваться результатами его труда.
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475698
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы по ссылке предоставленной ВладимирМ читали?

Там предлагается сбрасывать RecordSource грида.

Либо, формируйте курсор по create cursor, а затем в него заливайте данные из курсора от CursorFill
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475699
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего то я не пойму чего ты хочешь????


Если просто произвольный запрос, но чтобы грид не разрушался - тебе дали
ссылку.

Если читать лень - так и скажи:

> ..selectcmd= "select ... from where tt=1"
> ..cursorfill(..)

ThisForm.Grid1.RecordSourse=''
> ..selectcmd= "select ... from where tt=1 and ..."
> ..cursorfill(..)
ThisForm.Grid1.RecordSourse=CA.Alias && Где CA - это то что ты изображаешь
".." в "..selectcmd="



> возможно ли как-то написать динамическое выражение,
> чтобы использовать cursorRefresh()
> или необходимо другое решение?

Вот оно и осталось привязанным, в чём проблема?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475726
guest12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВы по ссылке предоставленной ВладимирМ читали?

Там предлагается сбрасывать RecordSource грида.

читать не лень
отвязывать грид невозможно,
так как в ячейках свои контролы и перекладывать заново (пересоздавать грид)
затратно
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475751
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest12345читать не лень
отвязывать грид невозможно,
так как в ячейках свои контролы и перекладывать заново (пересоздавать грид)
затратно

А попробовать почитать и отвязать
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475766
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему, Вы так и не поняли, что именно прочитали. Никто ведь не заставляет создавать Grid заново. Необходимо всего-лишь обнулить некоторые значения свойств Grid перед выполнением команды cursorfill(..), а затем их восстановить.

Вы вообще пробовали воспользовать описанным советом? Что не получилось?
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475806
guest12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
покажи

авторА попробовать почитать и отвязать

ну отвязал
курсорфилл - грид пустой

привязал к курсору - колонки врассыпную...

я ведь, объясняю
грид пересобирать - проблемно
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475866
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приведите код. Как отвязывал, как привязывал...
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35475903
guest12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
WITH thisform.oCad
	WITH thisform.Ogrid1
		.recordsource = ""
	ENDWITH 	
	.cWhere = "id="+LTRIM(STR(thisform.txt_id.value))
	.cursorfill(.t.,.f.)
ENDWITH
WITH thisform.Ogrid1
	.recordsource = thisform.oCad.alias
	.SetFocus()
ENDWITH

по колонкам бегать и соурсы ставить я не хочу и не могу
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35476076
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest12345
по колонкам бегать и соурсы ставить я не хочу и не могу
Я тоже. За меня это делают два метода базового класса Grd
SaveRecordSource и RestoreRecordSource
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35476176
guest12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ тоже.

и я про то-же самое, что не хотел это делать

если не жалко - дай глянуть
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35476308
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest12345 авторЯ тоже.

и я про то-же самое, что не хотел это делать

если не жалко - дай глянуть
Не претендую на крутое решение, базовые классы нижнего уровня писалиь очень много лет назад:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
FUNCTION SaveRecordSource
LPARAMETERS tlAutoClearSource

WITH This
	luResult = .T.
	
	.AddProperty("cRecordSource", .RecordSource)
	.AddProperty("aControlSources(1)")
	DIMENSION .aControlSources (.ColumnCount)
	FOR EACH loCol IN This.Columns
		.aControlSources[loCol.ColumnOrder] = loCol.ControlSource
	ENDFOR
	IF tlAutoClearSource
		.RecordSource = ""
	ENDIF
	
	RETURN luResult
ENDWITH
ENDFUNC

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
FUNCTION RestoreRecordSource
WITH This
	luResult = .F.
	IF PEMSTATUS(This, "cRecordSource",  5 ) AND PEMSTATUS(This, "aControlSources",  5 )
		.RecordSource = .cRecordSource
		FOR EACH loCol IN This.Columns
			loCol.ControlSource = .aControlSources[loCol.ColumnOrder]
		ENDFOR
		luResult = .T.
	ENDIF
	RETURN luResult
ENDWITH
ENDFUNC
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35476314
guest12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, пасиб
...
Рейтинг: 0 / 0
Курсорадаптер с динамической строкой селекткмд
    #35476776
Sergej_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще вариант: в select'е поля указывать в нужном тебе порядке, как они должны идти в гриде, тогда не надо каждой колонке прописывать ControlSource и потом его восстамавливать.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Курсорадаптер с динамической строкой селекткмд
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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