在dbgrid里面加入checkbox可以不使用其他的控件,利用dbgrid的某些属性设置也可以
解决方案 »
- 请教诸位高手:为什么数据集滚动时,自动将记录变化保存,我希望当我执行table1.post时才保存的。郁闷!请支招,不胜感激!
- Socket 严重错误,高手请进!(急!!!)
- 如何在delphi中用API获取windows的安装目录
- 刚学一个月
- 请问哪里有"DELPHI 4.0编程技术内幕"下载??
- decision cube与oracle的问题!
- 假如.................
- 问一个关于select查询的问题!
- 还是行号问题,请帮忙
- 如何在QuickReport中创建动态的表格
- 以部门为条件,查出某个部门中所有员工的记录。头痛啊!!!!
- 寻找好用的dbgrid和报表控件(分不够,可以再加)?
defaultdrawing属性设置为True
procedure
TForm1.Dbgrid1drawcolumncell(sender:Tobject;Co
nst Rect:Trect;.....);
begin
if (gdfocused in
state)and(column.field=Table1senior) then
begin
dbcheckbox1.setbount(rect.left+dbgrid1.left+1,
Rect.top+dbgrid1.top+1,
rect.right-rect.left,
rect.bottom-rect.top);
end;
end;procedure TForm1.dbgird1colenter(...);
begin
if
dbgrid1.columns[dbgrid1.selectedindex].field=t
able1senior then
dbcheckbox1.visible:=true
else
dbcheckbox1.visible:=false;
end;procedure TForm1.dbgrid1keypress(..);
begin
if dbcheckbox1.visible and (ord(key)>31) then
begin
key:=#0;
table1.edit1;
dbcheckbox1.checked:=not dbcheckbox1.checked;
dbcheckbox1.field.asbooolean:=dbcheckbox1.chec
ked;
end;
end;
defaultdrawing属性设置为True
procedure
TForm1.Dbgrid1drawcolumncell(sender:Tobject;Co
nst Rect:Trect;.....);
begin
if (gdfocused in
state)and(column.field=Table1senior) then
begin
dbcheckbox1.setbount(rect.left+dbgrid1.left+1,
Rect.top+dbgrid1.top+1,
rect.right-rect.left,
rect.bottom-rect.top);
end;
end;procedure TForm1.dbgird1colenter(...);
begin
if
dbgrid1.columns[dbgrid1.selectedindex].field=t
able1senior then
dbcheckbox1.visible:=true
else
dbcheckbox1.visible:=false;
end;procedure TForm1.dbgrid1keypress(..);
begin
if dbcheckbox1.visible and (ord(key)>31) then
begin
key:=#0;
table1.edit1;
dbcheckbox1.checked:=not dbcheckbox1.checked;
dbcheckbox1.field.asbooolean:=dbcheckbox1.chec
ked;
end;
end;