Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.05 c
4-1257811332
MemoryLeak
2009-11-10 03:02
2013.03.22
Mime filter + ie8 + vista/win7.


15-1352647406
Аббат Пиккола
2012-11-11 19:23
2013.03.22
Вот кто решает, что вкус ароматизатора идентичен натуральному


15-1333528430
Дмитрий С
2012-04-04 12:33
2013.03.22
SizeOf( ж );


15-1337084520
Max
2012-05-15 16:22
2013.03.22
аналог AsProtect


2-1337677823
leklerk
2012-05-22 13:10
2013.03.22
функция NetMessageBufferSend