dxDBGrid中如何让被选中(locate)的行出现整行高亮的效果?

blsa 2005-08-02 11:23:05
dxDBGrid + Table + Paradox
我想用locate函数(不是鼠标单击)找到某行,然后让这个整行高亮显示。但是现在它只是呈现一个虚线框,框住那行的某个字段。如何让他整行都高亮呢?
我用locate(xx)定位到这个数据后,再用selectnodes[0].focused;=ture,不行,看来数据库中的当前记录在表格中并不位于选中态?

ps:我现在鼠标单击某行是整行都选中的,可以多选(shift 或者 Ctrl选中多行)。如果需要更改空件的某些属性的话,盼望解决题目中问题的同时不要破坏现在的多选和整行选的效果。谢谢各位!
...全文
249 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xswgxnn 2005-08-08
  • 打赏
  • 举报
回复
Dbgrid1.SelectedRows.Clear;
if Dbgrid1.DataSource.DataSet.Locate('ID',trim(Stringgrid1.Cells[2,Stringgrid1.Row]),[]) then
begin
Dbgrid1.SelectedRows.CurrentRowSelected:=true;
Dbgrid1.SetFocus;
end;
blsa 2005-08-08
  • 打赏
  • 举报
回复
up
blsa 2005-08-05
  • 打赏
  • 举报
回复
最前面是不是有个with什么什么啊,要不然state是谁的state?gdselected我查到了是GridDraw(记不清了),但是它能用在这里么?Eh_Yd是TdxDBGrid类的吧?但是它的SelectedRows没有CurrentRowSelected 这个属性……您能否说的详细点?我第一次用delphi做东西……谢谢!
blsa 2005-08-03
  • 打赏
  • 举报
回复
谢谢楼上的,明天去公司试下……
yimibaer 2005-08-03
  • 打赏
  • 举报
回复
if ((State =[gdSelected]) or (State = [gdSelected,gdFocused])) then
if not Eh_Yd.SelectedRows.CurrentRowSelected then
begin
Eh_Yd.Canvas.Brush.Color:=clred;
Eh_Yd.Canvas.Font.Color:=clgreen;
end;
surdon 2005-08-03
  • 打赏
  • 举报
回复
DevExpress ExpressQuantumGrid Suite v4.5.Full Sources For Delphi 7

盒子上能找到 我下载的是安装包不过我的版本 可能有点老乐~~ 也不知道现在出到哪个版啦~~
blsa 2005-08-02
  • 打赏
  • 举报
回复
是公司已经安装好了的……
xylegend 2005-08-02
  • 打赏
  • 举报
回复
请教你的dxDBGrid 哪儿下载的,如何安装的?

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧