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

Вниз

Колонка для "птичек" в гриде.   Найти похожие ветки 

 
MsGuns ©   (2012-09-13 11:04) [0]

Здравствуйте, уважаемые !
Потребовалось реализовать в сетке TDBGrid самую левую фиксированную колонку для "птичек" (подобно в TDBGridEh). Когда-то делал, но забыл и проект не нашел.
Попробовал через наследника TCustomDBGrid подкрутить FixedCols, но эффект совсем нехороший  :)
Создавать "свой" класс как наследник TDBGrid и заменять им все сетки проблематично ибо в проекте туча TDBGrid

Дайте подсказочку, если не трудно :)

Спасибо.


 
sniknik ©   (2012-09-13 11:19) [1]

> заменять им все сетки проблематично ибо в проекте туча TDBGrid
заменить в dfm и переменных формы тип TDBGrid на к примеру TMySuperDBGrid проблематично???? сказки какие то.
ну допустим в проекте 100 гридов, это 200 слов заменить... да уж "проблема века", никто не осилит. :)


 
MsGuns ©   (2012-09-13 11:25) [2]

надо не для всех TDBGrid


 
sniknik ©   (2012-09-13 11:34) [3]

в проекте 100 гридов надо для половины т.е. 50ти, это 100 слов заменить...


 
Sha ©   (2012-09-13 11:50) [4]

http://www.delphisources.ru/pages/faq/base/checkbox_in_dbgrid.html


 
MsGuns ©   (2012-09-13 12:28) [5]

>Sha ©   (13.09.12 11:50) [4]
>http://www.delphisources.ru/pages/faq/base/checkbox_in_dbgrid.html

Спасибо, но...
Проблема собственно не в рисовании чекбоксов, а в том, чтобы зафиксировать левую колонку. В ссылке этого нет, к сожалению :(


 
AV ©   (2012-09-13 12:32) [6]

http://delphiworld.narod.ru/_all_articles_.html
найти на странице "TDBGrid - [82]"
может что-то найдешь, если нет - то идею


 
MsGuns ©   (2012-09-13 13:27) [7]

>http://delphiworld.narod.ru/_all_articles_.html

Спасибо, не нашел

Решил обмануть :)
"Хэкнул" св-во LeftCol и в событии OnColEnter делаю самую левую колонку (если ее индекс меняется) "птичьей" (заголовок+ширина). Предварительно восстанвливаю св-ва той колонки, что была левой и сохраняю св-ва той, что стала.
В перерисовщике рисую псысы где нужно.
Все лихо работает пока не скроллингуешь ползунком, да и при сохранении TColumns->SaveToFile надо восстанавливать левую колонку :)

Похоже, ларчик не так уж просто открывается :)


 
icWasya ©   (2012-09-13 15:23) [8]

Добавить к датасету вычисляемое поле


 
MsGuns ©   (2012-09-13 15:25) [9]

И как это решит проблему фиксации колонки грида ?


 
sniknik ©   (2012-09-13 15:48) [10]

даст "место" под нее... насколько понимаю. а собственно фиксацию сделать по статье с королевства много раз здесь приводившуюся... вроде "необычный грид" называется.


 
MsGuns ©   (2012-09-13 15:56) [11]

В королевском "необычном" гриде нет фиксации колонки.


 
sniknik ©   (2012-09-13 16:45) [12]

ну значит меня глаза обманывают... а тебе не очень то и нужно.


 
sniknik ©   (2012-09-13 16:47) [13]

1) Имитация внутренних группировок;
2) Метки в заголовках клонок. Попробуйте поменять "тип метки"  и отметить
разные колонки грида;
3) У грида фискирована клонка первого поля.


 
sniknik ©   (2012-09-13 16:48) [14]

> клонка
"пунктуация сохранена" как говорится.


 
Jeer ©   (2012-09-13 17:11) [15]

Ну как-то так вроде можно:

procedure TfmMain.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
 ToIndex: Integer);
begin
if (FromIndex <= 1 ) then
   DBGrid1.Columns[ToIndex].Index := FromIndex;
end;


 
Jeer ©   (2012-09-13 17:23) [16]

Не, вот так этичнее:

procedure TfmMain.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
 ToIndex: Integer);
begin
if (FromIndex=0) or (FromIndex =1) and (ToIndex = 0) then
   DBGrid1.Columns[ToIndex].Index := FromIndex;
end;


 
MsGuns ©   (2012-09-13 18:05) [17]

Фиксация колонки в "необычном" работает только если написать кучу кода, которого нет в примере (но есть ссылки на проект) - без этого глючит и при скроллинге, и при навигации кнопками.

Насчет не больно надо - таки да, это не главная цель жизни :)
По быстрому не вышло - и фиг с ним. Думал, что может это реализуется просто и быстро.

В во всяком случае спасибо за участие.

Тема закрыта


 
Jeer ©   (2012-09-13 18:07) [18]

И чем тебе [16] не айс ?


 
sniknik ©   (2012-09-13 18:10) [19]

> которого нет в примере
> ну значит меня глаза обманывают... а тебе не очень то и нужно.


 
Jeer ©   (2012-09-13 18:13) [20]


> Тема закрыта


Ну значит и не особо нужно, действительно.



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

Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.072 c
15-1345901388
Фокс Йожин
2012-08-25 17:29
2013.03.22
Картина


2-1330953400
dimokis
2012-03-05 17:16
2013.03.22
процедура для обработки нажатия любой кнопки на форме


15-1342009409
alexdn
2012-07-11 16:23
2013.03.22
Скроллинг страницы


15-1334739336
oldman
2012-04-18 12:55
2013.03.22
Забыл решение...


15-1339161690
Unk
2012-06-08 17:21
2013.03.22
Почему статьи не дополняются?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский