1.如何从一个dbgrid选择一行后将数据添加到另外一个dbgrid,然后再将第二个dbgrid的数据保存置数据库2.点击dbgrid后,当前框内变成'√',在点击变空白,

解决方案 »

  1.   

    假定DBGridSource和DBGridDest1、把原选中的数据复制到目的表格中
       DBGridDest.DataSource.DataSet.Append;
       DBGridDest.DataSource.DataSet[字段名称] := DBGridSource.DataSource.DataSet[字段名称];
       ...
       DBGridDest.DataSource.DataSet.Post;2、判断当前选中的列是否是你所要设置打√的列,如果是,则处理。
    procedure TFmXXX.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      if (DBGrid1.SelectedField<>nil) and (DBGrid1.SelectedField.FieldName=设置字段名称) then
      begin
        DBGrid1.DataSource.DataSet.Edit;
        if DBGrid1.DataSource.DataSet.FieldByName('设置字段名称').AsString='√' then
        begin
          DBGrid1.DataSource.DataSet.FieldByName('设置字段名称').AsString := '√';
        end
        else begin
          DBGrid1.DataSource.DataSet.FieldByName('设置字段名称').AsString := '';
        end;
        DBGrid1.DataSource.DataSet.Post;
      end;
    end;
      

  2.   

    if DBGrid1.DataSource.DataSet.FieldByName( '设置字段名称 ').AsString= '√' then
    修改成
    if DBGrid1.DataSource.DataSet.FieldByName( '设置字段名称 ').AsString= '' then^_^
      

  3.   

    没有必要用DBGrid,用stringGrid就可以