Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.07.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
2-1151342929
NektoAndrey
2006-06-26 21:28
2006.07.16
Интересная программа


15-1150371338
dimodim-Furyz
2006-06-15 15:35
2006.07.16
Сименсы и пачи


1-1149152229
Kolan
2006-06-01 12:57
2006.07.16
Как сделать объект управляющий другими потоком?


15-1150154457
Модемщик
2006-06-13 03:20
2006.07.16
Почему модемный доступ настолько дороже выделенки?


15-1150310876
ArtemESC
2006-06-14 22:47
2006.07.16
Поломка диска





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский