Вниз
Скачать: CL | DM;

Скрытие столбцов в DBGrid   Найти похожие ветки 

← →
_ALEXey_   (2004-05-07 08:11) [0]

Доброе утро, мастера и не только! Я столкнулся с такой проблемой. При выполнении SQL-запроса в ДБГрид выводятся значения двух полей. Первое поле нужно выбирать, но скрывать от пользователя (DBGrid.Columns[0].Visible:= False). Вот тут и загвоздка: при таком подходе возникают проблемы со скороллом грида (мышкой - ползунок передвигается, а значения в гриде не обновляются или обновляются неизвестно как; клавишами - вообще не прокручивается); также имеется эффект мультиселекта строк грида. Причем при выборе более двух полей или НЕскрытии первого, все становится нормально. Не подскажете, как это решается?!


← →
ORMADA ©   (2004-05-07 08:43) [1]

вопрос зачем те ваще выводить не нужное поле в дбгрид ?


← →
_ALEXey_   (2004-05-07 08:55) [2]

Я не говорил, что оно мне не нужно! Его не должен видеть пользователь, а мне оно нужно для упрощения удаления, обновления записи, добавления его значения (первичного ключа - того самого "ненужного") в качестве значения внешнего при добавлении записи в другую таблицу.


← →
ORMADA ©   (2004-05-07 08:58) [3]

Ты не понял СУТИ! Зачем тебюе его в ДБГРИД отображать ?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Онор есть у тебя в наборе данных ака датасет! Нах оно в гриде то если ты его даёшь там редактировать ????!
Ты хоть понимаешь предназначение ДБГРИДА или как ??? :))))


← →
_ALEXey_   (2004-05-07 09:06) [4]

Забыл добавить: в Гриде столбцы не определены, запрос создается динамически, и столбцы Грида соответствуют выбираемым полям из SQL-запроса. В запросе есть ЭТО поле => в гриде тоже.


← →
ORMADA ©   (2004-05-07 09:10) [5]

Дык добавляй СТОЛБЦЫ гриду динамически и задавай им нужные для обработки поля датасета


← →
ORMADA ©   (2004-05-07 09:12) [6]

А ещё лучше юзай EhLib там понтов больше :) и глюков меньше хотя именно такого глюка ка кты описываешь ни разу не замечал хош кидай пример на мыло только если он небольшой может помогу чем


← →
_ALEXey_   (2004-05-07 09:33) [7]

То есть: разорвать связь между DBGrid и IBQuery, выполнить запрос и затем все поля кроме 0-го создать в гриде?
Надо попробовать. Благодарю ORMADA!
Правда теперь возникает новая задача: при перемещении по гриду перемещать указатель текущей записи датасета.


← →
Term ©   (2004-05-07 10:02) [8]

чтото у тебя такие траблы какие не разу не встречал, да и решаеш ты их странно...
> разорвать связь между DBGrid и IBQuery, выполнить запрос
> и затем все поля кроме 0-го создать в гриде

зачем разрывать??? ЗАЧЕМ просто определи столбцы динамически и всё


← →
TransparentGhost   (2004-05-07 10:30) [9]

Zachem stolbci poreopredeljat"? Ih vaashe luchshe ne trogat" i ne ispol"zovat". Ja kak-to proboval cherez eti stolbci rabotat" - kak raz i bili podobnije trabli. Poprobuj FetchAll. Paru dnej nazad u menja bili problemi so scrollom - FetchAll pomog.


← →
Плохиш   (2004-05-07 10:39) [10]

>_ALEXey_

TField.Visible спасёт отца русской демократии.


← →
Jee ©   (2004-05-07 10:40) [11]

Если у тебя список полей динамический, но при этом первое всегда не должно быть видно, можно отключить ему Visible в датасете, тогда и в гриде его не будет видно.
Отключай в AfterOpen.
Dataset.Fields[0].Visible := false;


← →
z0ne   (2004-05-07 11:01) [12]

а что DBGrid.Columns.Delete(0) не устраивает ???


← →
_ALEXey_   (2004-05-07 11:07) [13]

В самом деле, когда сам создаешь столбцы, проблема исчезает.


← →
_ALEXey_   (2004-05-07 11:15) [14]

Все спасибо! Проблема решена!



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
4-1078193185
Walker
2004-03-02 05:06
2004.05.23
Поместить объект на рабочий стол


1-1083684435
Schummi
2004-05-04 19:27
2004.05.23
Закрытие TTabSheet


3-1083237481
Felan
2004-04-29 15:18
2004.05.23
Системные переменные Interbase


3-1083242996
BPK
2004-04-29 16:49
2004.05.23
Сложный динамический SQL-запрос


11-1072519076
Boguslaw
2003-12-27 12:57
2004.05.23
Out of synchronization in MCK




   Наверх