首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

想在DBGrid展示的查询结果加一列Checkbox用于让用户“选中”或“取消选中”,如何样才能实现

2013-08-09 
想在DBGrid展示的查询结果加一列Checkbox用于让用户“选中”或“取消选中”,怎么样才能实现?想在DBGrid展示的

想在DBGrid展示的查询结果加一列Checkbox用于让用户“选中”或“取消选中”,怎么样才能实现?
想在DBGrid展示的查询结果加一列Checkbox用于让用户“选中”或“取消选中”,以便下一步操作,不知要怎么实现?
[解决办法]
建议改用ListView或者其他的第三方Grid控件,如cxGrid,AdvStringGrid等
[解决办法]
你参考一下这个贴,可能帮到你!
http://bbs.csdn.net/topics/20156751
[解决办法]
我刚才试了,用重绘的方法可以加到checkbox列,但无法直接编辑,要做一些处理,在刚才的贴里5楼有相关示例,再是用改用其他控件或者第三方控件了
[解决办法]
用infopower组件可以很方便的达到你的要求
[解决办法]
标准的DBGrid完全可以实现这个功能,代码如下


procedure TfrmAddOldCustPrdt.GGPDBGrid1DrawDataCell(Sender: TObject;
  const Rect: TRect; Field: TField; State: TGridDrawState);
begin
  inherited;
  if (Field.Name='CDS1Flag') then
  begin
    with Sender as TGGPDBGrid do
    begin
      Canvas.Brush.Color:=clWindow;
      Canvas.FillRect(Rect);
    end;
    if GGPDBGrid1.DataSource.DataSet.FieldByName('Flag').AsString='Y' then
      DrawFrameControl(GGPDBGrid1.Canvas.Handle,Rect,DFC_BUTTON,DFCS_CHECKED )
    else
      DrawFrameControl(GGPDBGrid1.Canvas.Handle,Rect,DFC_BUTTON,DFCS_BUTTONCHECK);
  end;
end;

procedure TfrmAddOldCustPrdt.GGPDBGrid1CellClick(Column: TColumn);
begin
  inherited;
  if CDS1.IsEmpty or (not CDS1.Active) then Exit;
  if (Column.FieldName='Flag') then
  begin
    GGPDBGrid1.Options:=GGPDBGrid1.Options-[dgEditing];
    if CDS1.FieldByName('Flag').AsString='Y' then
    begin
      CDS1.edit;
      CDS1.FieldByName('Flag').AsString:='N';
      CDS1.Post;
    end else


    begin
      CDS1.edit;
      CDS1.FieldByName('Flag').AsString:='Y';
      CDS1.Post;
    end;
  end
  else
  begin
    GGPDBGrid1.Options:=GGPDBGrid1.Options+[dgEditing];
  end;
end;


[解决办法]
路过学习...
[解决办法]
照五楼的方法试了一下,我怎么弄不成?
谁弄成了说一下。
[解决办法]
Ehlib非常非常好使。
[解决办法]
目前是使用行记录高亮多选实现。

关注通过checkbox来实现多选记录。
[解决办法]
DbGrid实现起来有点麻烦,用DbGridEH吧,里面有DEMO程序可以参考,实现简单的多

热点排行