主页
Top.Mail.Ru Yandeks.Metrika
论坛:“基地”;
当前存档:2003.05.01;
下载:[xml.tar.bz2];

向下

如何在dbgrid中选择当前行? 找到类似的分支


ksa   (2003-04-11 13:40) [0]

有DbGrig,我想用颜色突出显示当前行,如果你设置dgRowSelect属性,那么如果向右滚动网格并单击单元格,网格会自动滚动到第一列。



Abrams   (2003-04-11 13:45) [1]

Обрабатываешь событие DBGridDrawColumnCell
и пишешь там что-нить в этом роде:

if gdSelected in state then
with DBGrid.Canvas do
开始
Font.Color := clYellow;
Brush.Color := clBlack;
结束;
DBGrid.DefaultDrawDataCell(Rect, Column.Field, State);



ksa   (2003-04-12 08:45) [2]

Проблема как раз в том, что условие (gdSelected in state) выполняется только на текщей ячейке, а мне нужно выделить всю строку...



ЮЮ   (2003-04-12 09:34) [3]

Вариант1. В АfterScroll-e DataSet-а запоминать значение ключевого поля, а в DrawDataCell-e DBGrid-a сраниваем это значение со значением ключевого поля отрисовываемой записи



Шаман   (2003-04-12 10:42) [4]

А еще проще поставить InfoPower 3000, благо кряков под него тьма, и глазу приятно и по пустякам напрягатся нестоит.



Цук   (2003-04-12 10:44) [5]

选项Yu不是最好的,因为 当您按Page Down或Page Up或使用鼠标滚轮滚动时,光标将移动并且该条保持不变。



Alexandr   (2003-04-12 11:13) [6]

用你的健康

type
THackDBGrid = class(TDBGridEh)
property DataLink;
property UpdateLock;
end;



procedure TForm1.MyGetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
var
Selected: Boolean;
begin
if INI1.currentLine then
begin
Selected := THackDBGrid(Sender).Datalink.Active and (THackDBGrid(sender).Row
- 1 = THackDBGrid(sender).Datalink.ActiveRecord);
if Selected then
begin
BackGround := INI1.FonCurrentLine;
end;
end;
end;




grusty   (2003-04-13 13:29) [7]

Abrams абсолютно прав. Единственное что - необходимо у DBGrid свойство Options/dgRowSelect установить в True. Тогда будет выделяться вся строка.
Другой вариант - это скачать библиотеку EhLib, где присутствует отличный компонент DBGridEh и у него обработать событие OnDrowColumnCell следующим образом:

if Rect.Top=DBGridEh2.CellRect(DBGridEh2.Col,DBGridEh2.Row).Top then DBGridEh2.Canvas.Brush.Color:=clAqua;
DBGridEh2.DefaultDrawColumnCell(Rect,DataCol,Column,State);



Страницы: 1 整个分支

论坛:“基地”;
当前存档:2003.05.01;
下载:[xml.tar.bz2];

楼上









内存:0.57 MB
时间:0.022 c
3-446
ArtemB
2003-04-14 08:42
2003.05.01
排序表


1-615
谢尔盖
2003-04-19 03:43
2003.05.01
运行* .ocx文件


4-828
DARKMAN
2003-03-02 17:07
2003.05.01
MainMenu的MoseEnter / MouseLeave


3-462
Siv很软
2003-04-14 12:28
2003.05.01
IBUpdateSQL - ApplyUpdates失败


1-544
Airdriver
2003-04-21 11:56
2003.05.01
事件处理组件实时创建





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский