Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Too many open tables   Найти похожие ветки 

 
gonzales   (2004-09-17 10:56) [0]

Добрый день, уважаемые Гуру!
Проблема следующая. Имеется DBGrid, в котором отображается одна колонка таблицы. Задача - ракскрасить те строки, у которых поле колонки №2 принимает определенное значение. Использую стандартный метод OnDrawCollumn (или как-то так). Не придумал ничего более умного, как написать запрос для вычисления значения поля колонки №2. но неожиданно столкнулся с такой трудностью: при каждой перерисовке выполняется запрос на все видимые поля Грида, соответственно после немногих полных перерисовок выдает ошибку - too many open tables. Подскажите, как этого избежать?
Спасибо


 
Наталия ©   (2004-09-17 11:02) [1]

1) Если "отображается одна колонка", то откуда взялась "колонка №2"?
2) Если значение поля уже отображается в этой колонке, зачем тогда нужен запрос?


 
Johnmen ©   (2004-09-17 11:04) [2]

Не выполнять никаких запросов при отрисовке грида !


 
Роман Снегирев   (2004-09-17 11:10) [3]

Согласен с Johnmen. Надо делать примерно так
на OnDrawColumnCell

with (Sender as TDBGrid).Canvas do
   begin
   если значение поля №2=чтонадо then Brush.Color:= clAqua;
   end;
(Sender as TDBGrid).DefaultDrawColumnCell(Rect, DataCol, Column, State);


 
gonzales   (2004-09-17 11:17) [4]

Но, уважаемые, на Гриде нет второго поля - оно не отображается - в этом проблема


 
gonzales   (2004-09-17 11:18) [5]

2 Наталия - вторая колонка имеется в таблице но не отображается на Гриде


 
Роман Снегирев   (2004-09-17 11:20) [6]

Но, уважаемые, на Гриде нет второго поля - оно не отображается - в этом проблема
Да причем здесь Грид, ты же будещь проверять значение поля Датасета, а не колонки Грида


 
gonzales   (2004-09-17 11:22) [7]

а как достучаться до значения поля Датасета без запроса?


 
Erik1 ©   (2004-09-17 11:25) [8]

Приехали и как ты до такой жизни докатился? Немедленно смотреть Demo и читать хелп.


 
gonzales   (2004-09-17 11:26) [9]

:(


 
gonzales   (2004-09-17 11:42) [10]

DataSource1.DataSet.Fields.FieldByName("Selection").AsBoolean
не канает - ссылается на то, что в Query1 нет поля Selection
а там его и быть не может, потому как выбирается только одно поле


 
Роман Снегирев   (2004-09-17 11:53) [11]

DataSource1.DataSet.Fields.FieldByName("Selection").AsBoolean-Fields лишнее
DataSource1.DataSet.FieldByName("Selection").AsBoolean
так надо его туда добавить


 
Johnmen ©   (2004-09-17 11:53) [12]

Выбери два...:)


 
gonzales   (2004-09-17 11:59) [13]

:))) ну да
просто я наверное по ламерски сделал, надо в Гриде добавить одну колонку, присвоить ей поле датасета, а в запросе выбирать все поля, отображаться все равно будет только одно


 
Sergey13 ©   (2004-09-17 12:04) [14]

2[13] gonzales   (17.09.04 11:59)
>а в запросе выбирать все поля, отображаться все равно будет только одно
Зачем все? Только то что надо.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.037 c
3-1095651463
korvin
2004-09-20 07:37
2004.10.17
Поиск без учёта регистра


6-1092020633
Максим
2004-08-09 07:03
2004.10.17
Имя компа


14-1096314733
Dot
2004-09-27 23:52
2004.10.17
Как создать простой патчер


1-1096435775
Vint
2004-09-29 09:29
2004.10.17
нужно перехватить сообщение об открытии окна (наверное)


4-1095405777
banderas
2004-09-17 11:22
2004.10.17
Имя пользователя





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский