请教:两个dbgrid问题
1.如何从一个dbgrid选择一行后将数据添加到另外一个dbgrid,然后再将第二个dbgrid的数据保存置数据库
2.点击dbgrid后,当前框内变成'√',在点击变空白,
[解决办法]
假定DBGridSource和DBGridDest
1、把原选中的数据复制到目的表格中
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;
[解决办法]
if DBGrid1.DataSource.DataSet.FieldByName( '设置字段名称 ').AsString= '√' then
修改成
if DBGrid1.DataSource.DataSet.FieldByName( '设置字段名称 ').AsString= '' then
^_^
[解决办法]
没有必要用DBGrid,用stringGrid就可以