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

Вниз

Копирование групп ячеек столбца в буфер обмена   Найти похожие ветки 

 
krobs ©   (2006-05-14 18:37) [0]

Скачал из Инета библиотеку EhLib и заменил DBGrid1 на DBGridEh1 - появилось больше возможностей - классно!
Выставил свойство: Options.dgMultiSelect
А вот как теперь сделать копирование групп ячеек столбца, в буфер обмена данными (как в Excel), что бы при этом я мог эти данные копировать обратно в Грид?
Товарищи, плиз, подскажите!!!!!!!!

Проще говоря мне нужно повторяемые в базе группы записей (в столбцах), дабы не переписывать их - копировать!

Заранее благодарю за ответ!


 
alexeis ©   (2006-05-15 08:31) [1]

тама есть demos. посмотри в нем.
вообще все работает через bookmarks.
Навскидку:
var     BStart,BEnd : TBookmarkStr;
....
     BEnd := dbgDisProv.Selection.Rect.BottomRow;
     dm.TableSource.GotoBookmark(Tbookmark(BStart));
     while True do
     begin
       dm.TableDest.Edit;
       dm.TableDest.FieldByName("field1").AsFloat := dm.TableSource.FieldByName("field1").AsFloat
       end;
       dm.TableDest.Post;
       BStart:=PChar(dm.TableSource.GetBookmark);
       if TIBCustomDataSet(dm.TableSource).CompareBookmarks(Pointer(BEnd),Pointer(BStart))  = 0 then
         break;
       dm.dsDisProv.Next;
     end;


 
alexeis ©   (2006-05-15 08:48) [2]

Блин, выдрал со своей проги. Небольшое изменение:
тама есть demos. посмотри в нем.
вообще все работает через bookmarks.
Навскидку:
var     BStart,BEnd : TBookmarkStr;
....
    BStart := dbgDisProv.Selection.Rect.TopRow;
    BEnd := dbgDisProv.Selection.Rect.BottomRow;
    dm.TableSource.GotoBookmark(Tbookmark(BStart));
    while True do
    begin
      dm.TableDest.Edit;
      dm.TableDest.FieldByName("field1").AsFloat := dm.TableSource.FieldByName("field1").AsFloat
      end;
      dm.TableDest.Post;
      BStart:=PChar(dm.TableSource.GetBookmark);
      if TDataSet(dm.TableSource).CompareBookmarks(Pointer(BEnd),Pointer(BStart))  = 0 then
        break;
      dm.TableSource.Next;
    end;

Вобщем, разберешься :-)


 
krobs ©   (2006-05-15 22:45) [3]


> тама есть demos. посмотри в нем.


Спасибо за ответ, но можно,пожалуйста уточнить что за demos. и где он находиться?


 
unknown ©   (2006-05-15 23:04) [4]

Все гораздо проще -
uses DBGridEhImpExp;
...
{ Второй параметр true - копировать всю таблицу, false - выделенное }
DBGridEh_DoCopyAction(DBGridEh1,True);
...


 
alexeis ©   (2006-05-16 07:47) [5]

demos находится в каталоге {твой путь куда ты установил ehLib}\Demos


 
MsGuns ©   (2006-05-16 09:09) [6]

>Проще говоря мне нужно повторяемые в базе группы записей (в столбцах), дабы не переписывать их - копировать!

Проще говоря, для таких целей база не нужна - вполне сгодится Excel



Страницы: 1 вся ветка

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
15-1150338522
ВиндосМЕ
2006-06-15 06:28
2006.07.16
Firefox не будет работать на компьютерах с Windows 98/МЕ


11-1130397427
Dodfr
2005-10-27 11:17
2006.07.16
Bug in TStrList.IndexOfName


4-1143802305
Russ
2006-03-31 14:51
2006.07.16
Удалённый запуск программ


1-1149057436
kreyl
2006-05-31 10:37
2006.07.16
Как вызвать функцию хоста из dll?


9-1131701802
2Wish
2005-11-11 12:36
2006.07.16
Как убрать спрайт