Форум: "Основная";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
ВнизDBGridEh и копирование Найти похожие ветки
← →
fynjy1984 © (2005-02-03 08:52) [0]При копировании строки из DBGridEh по CTRL+Ins и дальнейшей вставки (SHIFT+Ins) в другое место этой же таблицы все числовые значения вставляются нормально, а строковые не вставляются (остаются пустые поля), может кто знает как поправить.
← →
jack128 © (2005-02-03 09:09) [1]Я руками все поля копировал:
procedure TBaseDBElementFrame.btnCopyClick(Sender: TObject);
begin
if FValidCopyBookmark then
begin
IbDataSet.FreeBookmark(FCopyBookmark);
FValidCopyBookmark := False;
end;
if not IbDataSet.Active then Exit;
FCopyBookMark := IbDataSet.GetBookmark;
FValidCopyBookmark := True;
btnPaste.Enabled := True;
end;
procedure TBaseDBElementFrame.IBDataSetBeforeClose(DataSet: TDataSet);
begin
if FValidCopyBookmark then
begin
IbDataSet.FreeBookmark(FCopyBookmark);
FValidCopyBookmark := False;
end;
end;
procedure TBaseDBElementFrame.btnPasteClick(Sender: TObject);
var
Values: array of Variant;
CurBookMark: TBookMark;
i: Integer;
begin
if FValidCopyBookmark then
begin
CurBookMark := IbDataSet.GetBookmark;
IbDataSet.DisableControls;
try
IbDataSet.GotoBookmark(FCopyBookmark);
SetLength(Values, IbDataSet.FieldCount);
for i := 0 to Length(Values) - 1 do
Values[i] := IbDataSet.Fields[i].Value;
IbDataSet.GotoBookmark(CurBookmark);
finally
IbDataSet.EnableControls;
IbDataSet.FreeBookmark(CurBookmark);
end;
if not (IbDataSet.State in dsEditModes) then
IbDataSet.Append;
for i := 0 to IbDataSet.FieldCount - 1 do
if IbDataSet.Fields[i].FieldName <> "ID" then
IbDataSet.Fields[i].Value := Values[i];
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c