求教dbgrid里实现如下功能的方法? 我想在dbgrid中,在每一行的第一列加一个checkbox,这个checkbox的值与dbgrid的datasource中的列的值无关,当选中该行记录后,checkbox就选中,也就是说想用checkbox来表示该行记录是否被选中。最好有现成的控件。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用STRINGGRID自己画图片可以这样做。 datasource 裡加多一個bool型的查詢列 用第三方控件,如dxDBGrid, cxDBGRid... 功能强大 procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);begin if DataCol=0 then DrawFrameControl(TDBGrid(Sender).Canvas.Handle,Rect,DFC_BUTTON,DFCS_CHECKED);end; 使用第三方控件,比如dbgridEh. 如果有现成的控件你不會為了這個小小的需求去安裝巨大的dexExpress控件吧!的确dexExpress控件能完成你的需要.其實寫代碼控制也不難. 比如 jinjazz(近身剪(N-P攻略))的作法可以實現你的功能.但是不知道如何使畫的CheckBox選中或不選.另外一個方案是:在Datasource對應的DataSet自定義一個內部計算字段.假設你的DataSet是TClientDataset那麼新增個自定義個fkInternalCalc字段. 用戶雙擊則這個字段的數值=true,反之=false;但麻煩的是還要自己在DrawColumnCell事件內畫選中和未選中的圖片.如果上的面的情況滿足樓主的需要, 我可以貼上畫圖片的代碼. dbgridEh如何使用啊?应该怎样设置?最好只要设置属性而不需要写代码。 用InfoPower控件,现在市面上的软件,dbgrid基本上都用它的 定义的函数不能用,为何呢,请指教 Delphi:怎样实现一个实时读取数据的程序? delphi写的dll,被pb调用时非法操作 做软件打包的时间,有的SQL的数据库怎么与程序打包到一起? 输入法切换的问题?在线等待!!!!!! 请教大家一个转换为日期的问题 初学者请教三个“菜鸟”问题? 请教高手:关于加密数据存入MDB数据库问题---急!急!急! 这个程序我还是弄不出来,发的消息我知道,可是我不知道怎么查找 学习Delphi需要什么基础知识? 关于messagedlg的问题 请教如何固定字符串的长度
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if DataCol=0 then
DrawFrameControl(TDBGrid(Sender).Canvas.Handle,Rect,DFC_BUTTON,DFCS_CHECKED);
end;
的确dexExpress控件能完成你的需要.其實寫代碼控制也不難. 比如 jinjazz(近身剪(N-P攻略))的作法可以實現你的功能.
但是不知道如何使畫的CheckBox選中或不選.另外一個方案是:
在Datasource對應的DataSet自定義一個內部計算字段.假設你的DataSet是TClientDataset
那麼新增個自定義個fkInternalCalc字段. 用戶雙擊則這個字段的數值=true,反之=false;
但麻煩的是還要自己在DrawColumnCell事件內畫選中和未選中的圖片.如果上的面的情況滿足樓主的需要, 我可以貼上畫圖片的代碼.