有关DBGridEh中复选框的问题

test-20131128 2011-08-29 09:27:06
准备在DBGridEh显示数据库中数据的同时,在每一行前面加一列用于显示复选框,然后可以进行批量删除操作,我的设置如下:
dbgrdh1.Columns[0].Checkboxes := True;
dbgrdh1.Columns[0].CheckboxState := cbUnchecked;
dbgrdh1.Columns[0].KeyList.Clear;
dbgrdh1.Columns[0].KeyList.Add('0');
dbgrdh1.Columns[0].KeyList.Add('1');
dbgrdh1.Columns[0].ReadOnly := False;
dbgrdh1.Columns[0].alwaysshoweditbutton := True;

选择事件:
procedure TFormEditRecord.dbgrdh1CellClick(Column: TColumnEh);
begin
if Column.FieldName = 'fselect' then
begin
if dbgrdh1.Columns[0].CheckboxState = cbUnchecked then
dbgrdh1.Columns[0].CheckboxState := cbChecked
else
dbgrdh1.Columns[0].CheckboxState := cbUnchecked;
end;
end;
运行之后可以显示出来复选框,可是点击之后并没有选择,请问这个问题要怎么解决?急求,解决问题即结贴送分,只有40分
...全文
354 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwhghhao12345 2011-10-12
  • 打赏
  • 举报
回复
dbgrdh1.Columns[0].Checkboxes := True;
dbgrdh1.Columns[0].CheckboxState := cbUnchecked;
dbgrdh1.Columns[0].KeyList.Clear;
dbgrdh1.Columns[0].KeyList.Add('0');
dbgrdh1.Columns[0].KeyList.Add('1');
dbgrdh1.Columns[0].ReadOnly := False;
dbgrdh1.Columns[0].alwaysshoweditbutton := True;

这段代码不要
把dbgrideh的columns0的checkbox设置成true、keylist设置成 '0' '1' 、readonly设置成false!
试试吧 我的这样子没问题!
babydog01 2011-10-12
  • 打赏
  • 举报
回复
实在不行,在数据库中加一个辅助字段,根据字段来判断是否选定更方便。
可直接用SQL语句来删除都可以.delete aaa where 辅助字段=1,方便快捷

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧