X
xhqing
Unregistered / Unconfirmed
GUEST, unregistred user!
怎样取出DBGrid的一个网格里选中的一部分数据,如何实现在DBGrid里较完美的复制剪切粘贴功能,这样在网格里输入数据才方便.
我用以下程序,只能实现复制/粘贴整个网格里的数据,而不能只粘贴选取的部分数据,请高人指点,万分感谢!
procedure TmainForm.ToolButton_copyClick(Sender: TObject);
begin
Clipboard.Clear;
Clipboard.AsText :=DBGrid1.SelectedField.DisplayText;
showmessage(clipboard.AsText);
end;
procedure TmainForm.ToolButton_pasteClick(Sender: TObject);
begin
if (dbgrid1.ReadOnly = false)
then begin
adoquery1.Edit;
DBGrid1.SelectedField.AsString :=Clipboard.AsText;
try
adoquery1.Post;
except
adoquery1.Cancel;
end;
end;
end;
procedure TmainForm.ToolButton_cutClick(Sender: TObject);
begin
Clipboard.Clear;
Clipboard.AsText :=DBGrid1.SelectedField.DisplayText;
if (dbgrid1.ReadOnly = false)
then begin
adoquery1.Edit;
DBGrid1.SelectedField.Value := null;
adoquery1.Post;
end;
end;
我用以下程序,只能实现复制/粘贴整个网格里的数据,而不能只粘贴选取的部分数据,请高人指点,万分感谢!
procedure TmainForm.ToolButton_copyClick(Sender: TObject);
begin
Clipboard.Clear;
Clipboard.AsText :=DBGrid1.SelectedField.DisplayText;
showmessage(clipboard.AsText);
end;
procedure TmainForm.ToolButton_pasteClick(Sender: TObject);
begin
if (dbgrid1.ReadOnly = false)
then begin
adoquery1.Edit;
DBGrid1.SelectedField.AsString :=Clipboard.AsText;
try
adoquery1.Post;
except
adoquery1.Cancel;
end;
end;
end;
procedure TmainForm.ToolButton_cutClick(Sender: TObject);
begin
Clipboard.Clear;
Clipboard.AsText :=DBGrid1.SelectedField.DisplayText;
if (dbgrid1.ReadOnly = false)
then begin
adoquery1.Edit;
DBGrid1.SelectedField.Value := null;
adoquery1.Post;
end;
end;