wwDbGrid第一列用CheckBox来选择行 ( 积分: 100 )

  • 主题发起人 主题发起人 ploe
  • 开始时间 开始时间
P

ploe

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用wwDbGrid,设置第一列为checkbox,checkbox选中就选择改行
AH2291Bnvn3ra6v5i8dt8K6A6LE-05-D.jpeg
 
最后编辑:
wwDbGrid不是自带的有这种功能吗?
只要你的数据库里有个布尔型的字段就可以了;
 
表里没有布尔字段,而且我只是用来选择行的,不需要绑定数据库字段
 
你这样做会有很多问题的;给你写点代码,可能对你有帮助;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
ARect:TRect;
begin
if (gdFocused in State) and (column.Index=0) then
begin
begin
checkbox1.BringToFront;
ARect.Left:=Rect.Left + DBGrid1.Left + 1+(Rect.Right-Rect.Left-Checkbox1.Width) div 2;
ARect.Top:=Rect.Top + DBGrid1.Top + 2;
ARect.Right:=(Rect.Right - Rect.Left- checkbox1.Width) div 2-13;
ARect.Bottom:=(Rect.Bottom - Rect.Top-13) div 2 +13 ;
checkbox1.SetBounds (ARect.Left, ARect.Top, ARect.Right,ARect.Bottom);
end;
end;
end;

procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
if dbgrid1.SelectedIndex=0 then
checkbox1.visible:=true
else
checkbox1.visible:=false;
end;
 
用listview.
 
自己解决了
 
后退
顶部