關于"dbgrid.gdselected in state "中state 的理解 看了幫助沒看明白﹐請用通俗的語言解釋一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果State是csDefault,由delphi根据相连的dataset处理所有问题如果State是csCustomer,dbgrid的许多属性将与dataset无关 State指明数据集当前的操作状态通过检测数据集的这个属性来判断当前可以对数据集进行的操作。这个属性在程序处理数据的时候可能是不时的在变化的!当对数据集使用不同的方法的时候此属性(集合属性)的元素内容将发生相应变化,例如,当使用Edit方法时,数据集状态变为dsInsert值类型申明如下:TDataSetState = (dsInactive, dsBrowse, dsEdit, dsInsert, dsSetKey, dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead, dsInternalCalc, dsOpening); 楼主的那个判断可以用来更改当前选择记录行的高亮色等,如procedure TCustomerForm.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);begin with TDBGrid(Sender) do begin if gdSelected in State then begin Canvas.Font.Color :=clMoneyGreen; //改变高亮记录的背景颜色,而不是传统的深兰色 Canvas.FillRect(Rect); end; DefaultDrawColumnCell(Rect,DataCol,Column,State); end;end; 关于第三方控件 复制文字到记事本出线乱码,怎么解决? delphi内如何接入监控视频信息 简单问题 求一SQL语句!!!完成一查询! ★★★求购Unicode字符映射表(中英文)!★★★ 如果通过给StringGrid发送一个消息使它自动滚动..... 一个Warning请帮忙解决一下,谢谢! 请问,如何将dbgrid的标题栏字体放大? 为什么Delphi的资料那么少?(请大家发表看法) 怎么使用Ado把几个不同的Access合成一个数据库,不用BDE的BAthChMove控件。 我想把一excel工作薄當作數據庫文件來用,我用odbc創建了一連接,但是如何用sql語句來訪問它呢
如果State是csCustomer,dbgrid的许多属性将与dataset无关
TDataSetState = (dsInactive, dsBrowse, dsEdit, dsInsert, dsSetKey, dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead, dsInternalCalc, dsOpening); 楼主的那个判断可以用来更改当前选择记录行的高亮色等,如procedure TCustomerForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with TDBGrid(Sender) do
begin
if gdSelected in State then
begin
Canvas.Font.Color :=clMoneyGreen; //改变高亮记录的背景颜色,而不是传统的深兰色
Canvas.FillRect(Rect);
end;
DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
end;