Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
1-1107497610
Aleks
2005-02-04 09:13
2005.02.20
Есть ли компонент который работает с GIF


14-1107201670
Ломброзо
2005-01-31 23:01
2005.02.20
+1!


1-1107339398
Игорь нтк
2005-02-02 13:16
2005.02.20
Склонение по падежам


1-1107503727
Zhekson
2005-02-04 10:55
2005.02.20
Иконка в StatusBar_е


1-1107489800
Артем К.
2005-02-04 07:03
2005.02.20
Как отловить в Design-тайме сообщение типа CM_MOUSELEAVE?