Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Работа с гридом только на просмотр. Как выйти из положения? / 22 сообщений из 22, страница 1 из 1
09.04.2003, 17:17
    #32136914
chenosov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
До сих пор работал с VB. Пришлось перейти на Дельфи. В VB можно отвязать грид от рекордсета. Часто нужно просто посмотреть данные и, скажем, часть их распечатать. Для этого я использовал такой прием: - добавлял в запрос фиктивное битовое поле, в гриде оно отображалось в виде птички. Здесь, вроде тоже приспособился, использую грид из EhLib, где возможно такое отображение, все другие поля делаю недоступными для редактирования через ReadOnly=True. Все ОК.

Но вот в запросе стало 2 таблицы, и теперь после установки птички при переходе на другую строку выдается сообщение:

Insufficient base table information for updating or refreshing

Как бы обойти это дело?
...
Рейтинг: 0 / 0
09.04.2003, 17:56
    #32136948
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
запросы (view'хи) с джоином двух и более таблиц нередактируемы по определению окромя случаев джоина таблицы самой с собой.
я в своей проге храню TBookmark'и, а пользователю отрисовку птичек далаю в OnDrawDataCell и таблица не модифицируется и другие юзверя не страдают от модификаций соседа...
...
Рейтинг: 0 / 0
09.04.2003, 17:56
    #32136949
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
запросы (view'хи) с джоином двух и более таблиц нередактируемы по определению окромя случаев джоина таблицы самой с собой.
я в своей проге храню TBookmark'и, а пользователю отрисовку птичек далаю в OnDrawDataCell и таблица не модифицируется и другие юзверя не страдают от модификаций соседа...
...
Рейтинг: 0 / 0
09.04.2003, 17:59
    #32136956
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
поставь у dataset LockType = ltBatchOptimistic, что при переходе с записи на запись в базу ничего не писалось.
...
Рейтинг: 0 / 0
09.04.2003, 18:05
    #32136965
chenosov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
Дык, ведь я и не хочу редактировать таблицу! Я ж писал, что грид мне нужен для отбора. Нашел, в конфе, посоветовали ранее установить LockType в BatchOptimistic. Лучше бы, конечно иметь возможность отвязать грид, тогда с ним можно делать что угодно (см. VsFlexGrid в базике).
А рисовать мне неохота совершенно.
...
Рейтинг: 0 / 0
09.04.2003, 18:07
    #32136969
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
а рисовать на канве так сложно - что аж пальцы сломать можно
...
Рейтинг: 0 / 0
09.04.2003, 18:12
    #32136971
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
>см. VsFlexGrid в базике)

Да забудь ты про свой грид да еще и в базике. Привыкай мыслить в терминах Delphi. А здесь грид, это окошечко, через которое ты смотриш на DataSet. Не более не менее. Да и не напрямую, а через DataSource. Так что ставь LockType в ltBatchOptimistic, и запрешай редактировать все поля, кроме галки. все должно работать. Удачи.
...
Рейтинг: 0 / 0
09.04.2003, 18:23
    #32136985
chenosov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
Спасибо за пожелание, все работает. Теперь хочу программно задать значение этому полю.

qutovars.FieldByName('show').asboolean:=True ;

Вновь матерщина -

Dataset not in edit or insert mode
...
Рейтинг: 0 / 0
09.04.2003, 18:26
    #32136986
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
Ну дык надо

Код: plaintext
1.
2.
qutovars.Edit;
qutovars.FieldByName('show').asboolean:=True ;
qutovars.Post;



Без обид, help про работу с dataset надо всетаки почитать.
...
Рейтинг: 0 / 0
09.04.2003, 18:31
    #32136988
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
ну бесполезно постить набор данных с джоином двух и более таблиц.
хотя если умудришься это сделать - черкни плиз как сие сделал.
...
Рейтинг: 0 / 0
09.04.2003, 18:34
    #32136992
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
2 KirrilovA

>ну бесполезно постить набор данных с джоином двух и более таблиц

Глянька, ltBatchOptimistic. Так что Post можно смело делать, в базу от этого ничего не пойдет. Другое дело, что ADO может не дать менять некоторые поля набора данных, который взят на основе многотабличного запроса.
...
Рейтинг: 0 / 0
09.04.2003, 18:37
    #32136993
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
дык я про то и говорю - что адо не даст...
у меня - не дает... может адо древний или кривой - лень с ним разбираться...
...
Рейтинг: 0 / 0
09.04.2003, 18:39
    #32136995
chenosov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
Спасибо, еще раз. Никаких обид. Тяжело быстро переключиться на другой язык.
...
Рейтинг: 0 / 0
09.04.2003, 18:39
    #32136996
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
2 KirillovA

>дык я про то и говорю - что адо не даст...


Что не даст, поле изменить, или Post сделать. Если поле вычисляемое (конкатенация, например), то да. Но тогда оно не будет редактироваться и ошибка будет другая. Или ты про другое.
...
Рейтинг: 0 / 0
09.04.2003, 18:42
    #32137000
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
у меня не дает на поля типа - numeric (28,2)
поле не вычисляемое результат джоина вьюхи с таблицей - при том что это поле из вьюхи выдернуто...
...
Рейтинг: 0 / 0
09.04.2003, 18:46
    #32137003
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
>при том что это поле из вьюхи выдернуто...

Так поэтому и не дает.
...
Рейтинг: 0 / 0
09.04.2003, 18:52
    #32137008
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
вьюха - рез-т джоина таблицы самой с собой.
вьюхо то менять дает...
лана - бог с етой TADOTable... пусть с ней билловские программеры разбираются.
...
Рейтинг: 0 / 0
09.04.2003, 19:00
    #32137016
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
>лана - бог с етой TADOTable... пусть с ней билловские программеры разбираются.

Вот, вот. B и все орут. ADO, ADO. Словно панацея на все случаи жизни. Не подходит оно для серьезных проектов. Уж слишком много решает и додумывает за разработчика. А мне нужна свобода действий, чтоб я решал, какие инструкци и когда на сервак посылать. И что через DBAware контролы. Поэтому, все мои проекты, пока на BDE. Есть один на ADO, но это модуль Аналитик, и там все наборы на основе хп и только для чтения. Новые проекты тока на связке dbExpress + TClientDataSet. Правда и тут пришлось свой компонентик написать. Тоже не все устраивало. Зато теперь все преимущества OLEDB (по сравнению с DB-Library) + полная свобода действий. Могу редактировать все, что вернул с сервера и вызывать хп на изменения когда надо и какие надо.
...
Рейтинг: 0 / 0
09.04.2003, 19:17
    #32137026
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
> Уж слишком много решает и додумывает за разработчика.
Согласен - я тоже бде юзаю - траблов - не заметил, а те что вылазили - как-то обходил.
> И что через DBAware контролы.
Я их тоже не юзаю - стандартные TEdit и прочие стандартные делфевые контролы. И что самое карошее при такой системе - ребилд проджекта допустим из 2-3 версии в 7 - с закрытыми глазами ))).
> Могу редактировать все, что вернул с сервера и вызывать хп на изменения когда надо и какие надо.
Звери мои юзают только вьюшки и ТОЛЬКО SP для модификации таблесов.
----
Так что - делфя=морда и засчита от дурака, а сервак и SP - логика.
...
Рейтинг: 0 / 0
10.04.2003, 13:39
    #32137498
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
А у меня вот свой компонент (не мной правда разработанный), работает через ADO, но механика своя. Ничего никуда не отправляет ни каких данных ни на какой сервер - есть компонент для update типа TUpdateSQL, когда надо, тогда и говоришь - обновить все измененные записи. И редактировать все дает - как хочешь. И имена и типы параметров сам начитывает из хранимых процедур. Никаких глюков. Красота!!!
...
Рейтинг: 0 / 0
04.05.2003, 19:21
    #32152911
RIm
RIm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
to tygra:

А название у компонента замечательного есть? Если не секрет конечно.

Удачи!
...
Рейтинг: 0 / 0
05.05.2003, 13:24
    #32153263
Adopus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с гридом только на просмотр. Как выйти из положения?
2pkarklin:

ты используешь связку "TSQLQuery+TDataSetProvider+TClientDataSet"?


Удачи!
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Работа с гридом только на просмотр. Как выйти из положения? / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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