如何在dbgrid或者别的数据库网格中加入dbcheckbox或者其它checkbox控件
要求是,要随机控制,比如说,要哪个随便哪一格,哪一行,哪一列,都可以加入的,dbcheckbox控件.
要求是,要随机控制,比如说,要哪个随便哪一格,哪一行,哪一列,都可以加入的,dbcheckbox控件.
解决方案 »
- 如何用一表中的值代替另一表中的值
- 告诉大家一个好消息,Delphi已经卖了是DEVCo公司,DEVCo是由borland的开发部门独立出来的公司!
- 请问各位,做了一个餐饮系统,4个前台,4个后厨涉及到8个打印机,我该如何去做??????????????
- 急!在线等待,有没有TREEVIEW添加,删除,修改的源码?使修改后的结果返回到数据库中!
- 为什么不能连接数据库?
- 关于文件管理
- 有谁知道“InfoPower3000Pro_vcl6”这套控件的安装密码?
- delphi中用深麼函數來實現程序暫停一小段時間?
- 窗体置前问题
- 菜鸟送分:如何隐去任务栏(任务条)?
- 请教sql语句!!!!
- 配置文件与ADOConnection
如有还有问题就留言!
简单一点,自己画一个checkbox,如下:
procedure TFrmWHouse.DBGrid1ColExit(Sender: TObject);
begin
//确保该栏是逻辑字段
if DBGrid1.SelectedField.DataType = ftBoolean then
DBGrid1.Options := OriginalOptions;
end;procedure TFrmWHouse.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
const
// 这个整数值将按照布尔值返回,并送入数组
CtrlState : array[Boolean] of Integer = (DFCS_BUTTONCHECK,
DFCS_BUTTONCHECK or DFCS_CHECKED);
begin
//确保只有在逻辑字段才能插入组件
if Column.Field.DataType = ftBoolean then
begin
DBGrid1.Canvas.FillRect(Rect);
DrawFrameControl(DBGrid1.Canvas.Handle,Rect,DFC_BUTTON,CtrlState[Column.Field.AsBoolean]);
end;end;procedure TFrmWHouse.DBGrid1CellClick(Column: TColumn);
begin
if DBGrid1.SelectedField.DataType = ftBoolean then
SaveBoolean();
end;procedure TFrmWHouse.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ( Key = VK_SPACE ) and
( DBGrid1.SelectedField.DataType = ftBoolean ) then
SaveBoolean();
end;procedure TFrmWHouse.SaveBoolean;
begin
DBGrid1.SelectedField.Dataset.Edit;
DBGrid1.SelectedField.Value := not DBGrid1.SelectedField.AsBoolean;
DBGrid1.SelectedField.Dataset.Post;
end;