您的位置:首页 > 其它

DBGrid1

2015-09-05 17:20 375 查看
A、ShowMessage(IntToStr(Column.Index));
B、ShowMessage(IntToStr(dbgrid1.SelectedField.Index));

1、得到当前格子中的内容:
DBGrid1.Fields[DBGrid1.SelectedIndex].DisplayText;
把DBGrid1.SelectedIndex改为你所希望引用的字段就可以了,如第3个字段。

DBGrid1.Fields[3].DisplayText;

2、双击单元格触发不同事件

procedure TMainFrm.DBGrid1DblClick(sender:TObject);

begin

if dbgrid1.fields[dbgrid1.selectedIndex].FiledName='GNO' then begin   //   dbgrid1.selectedIndex ---选中单元格列

//响应事件

end;

if dbgrid1.fields[dbgrid1.selectedIndex].FiledName='PSNNAME' then begin

//响应事件
end;

if dbgrid1.fields[dbgrid1.selectedIndex].FiledName='RCSJ' then begin

//响应事件

end;

end;


//dbgrd1DrawColumnCell事件中
//隔列变色
if DataCol mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := clInfoBk //定义背景颜色
else  (Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223); //定义背景颜色
//隔行变色
if qryHIS_Prices.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := clInfoBk //定义背景颜色
else  (Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223); //定义背景颜色
//当前行变红
if ((State = [gdSelected]) or (State = [ gdSelected,gdFocused])) then
if not dbgrd1.SelectedRows.CurrentRowSelected then
dbgrd1.Canvas.Brush.Color := clRed; //当前选中单元格显示红色
dbgrd1.Canvas.Pen.Mode := pmMask;
dbgrd1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: