急!!dbgrid1中,怎样把ComboBox1嵌在字段(日期)所对应的第一个单元格中? dbgrid1中,怎样把ComboBox1嵌在字段(日期)所对应的第一个单元格中?而且,ComboBox1的大小随着单元格的变化而变化!急谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 oncellclick里面动态的设定combobox1的left和top还有width,让它看起来好像嵌在那里 下面的代码是在dbgrid里嵌入checkbox.不是我说的方法 ..转贴,呵呵,懒的写 type TForm1 = class(TForm) DataSource1: TDataSource; Table1: TTable; DBGrid1: TDBGrid; procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); procedure DBGrid1ColEnter(Sender: TObject); procedure DBGrid1ColExit(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); procedure DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } OriginalOptions : TDBGridOptions; procedure SaveBoolean; public { Public declarations } end; {...} procedure TForm1.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 TForm1.DBGrid1ColEnter(Sender: TObject); begin // 确保该栏是逻辑字段 if DBGrid1.SelectedField.DataType = ftBoolean then begin OriginalOptions := DBGrid1.Options; DBGrid1.Options := DBGrid1.Options - [dgEditing]; end; end; procedure TForm1.DBGrid1ColExit(Sender: TObject); begin //确保该栏是逻辑字段 if DBGrid1.SelectedField.DataType = ftBoolean then DBGrid1.Options := OriginalOptions; end; procedure TForm1.DBGrid1CellClick(Column: TColumn); begin //确保该栏是逻辑字段 if DBGrid1.SelectedField.DataType = ftBoolean then SaveBoolean(); end; procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin //确保该栏是逻辑字段和空格键在键盘中被敲击 if ( Key = VK_SPACE ) and ( DBGrid1.SelectedField.DataType = ftBoolean ) then SaveBoolean(); end; procedure TForm1.SaveBoolean; begin DBGrid1.SelectedField.Dataset.Edit; DBGrid1.SelectedField.AsBoolean :=not DBGrid1.SelectedField.AsBoolean; DBGrid1.SelectedField.Dataset.Post; end; 请问:Report Machine控件页中的RMReport如何使用呀?我用………… 请教一个关于fastreport的问题?每页的行号从1开始,并把这页的总行数显示到页面的底部? 如何 判断某个程序 是否已经运行,如何指定快捷键,如F12? 寻求兼职工作 cxgrid中关于进度条的一个问题 and的优先级高于or吗? 关于combobox的问题,请大家帮忙,谢谢! 急!!!用Delphi连接VFP自由表还是不能解决 关于函数转换时出现一怪事? delphi 怎么直接阿里旺旺聊天对话框 如何定义全局变量??? 类型转换问题!在线等!!!
动态的设定combobox1的left和top还有width,让它看起来好像嵌在那里