Вниз
Скачать: 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 вся ветка

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



Память: 0.49 MB
Время: 0.049 c
2-1344669607
Наивный
2012-08-11 11:20
2013.03.22
FreeAndNil, пожалуйста, еще раз.


6-1263450403
romich
2010-01-14 09:26
2013.03.22
Фотохостинг


15-1350304694
Artem
2012-10-15 16:38
2013.03.22
Здравствуйте


15-1344457802
Юрий
2012-08-09 00:30
2013.03.22
С днем рождения ! 9 августа 2012 четверг


15-1352808457
AV
2012-11-13 16:07
2013.03.22
Number Oracle и числа в "православной". Не хватает Cardinal`a




   Наверх