Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Копирование из сетки Quantum Grid 
:(
    Опции темы
offline
Дата 24.9.2009, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



Подскажите, есть набор данных который выводит значения в сетку Quantum Grid.
Если производить выборку из набора данных не с помощью запроса, а с помощью средств Quantum Grid, то все работает отлично, но вот при попытке скопировать отфильтрованные значения, разумеется будет копироваться все значения из набора данных, т.к. фильтрация происходит визуально при помощи Quantum Grid. Подскажите, как скопировать то, что отображает Quantum Grid, как обратиться к этим значениям?

вот пример кода для набора данных

Код

TabKlient - набор данных
s - строковая переменная
TabKlient.First;
while not TabKlient.Eof do begin
   Application.ProcessMessages;;
   s := TabKlientID.AsString + ' - ' +
          TabKlientName.AsString + ' - ' +
          TabKlientGorod.AsString;
  TabKlient.Next;
end;


Вот как что то подобное реализовать для данных, что отображает Quantum Grid.
PM MAIL   Вверх
former
Дата 25.9.2009, 02:09 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 7
Всего: 17



Цитата(offline @  24.9.2009,  22:53 Найти цитируемый пост)
Если производить выборку из набора данных не с помощью запроса, а с помощью средств Quantum Grid, то все работает отлично, но вот при попытке скопировать отфильтрованные значения, разумеется будет копироваться все значения из набора данных, т.к. фильтрация происходит визуально при помощи Quantum Grid.

offline, во вьюхе DataController -> Filter -> AutoDataSetFilter -> true.

Это сообщение отредактировал(а) former - 25.9.2009, 02:17


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Akella
Дата 25.9.2009, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(offline @  24.9.2009,  22:53 Найти цитируемый пост)
Подскажите, как скопировать то, что отображает Quantum Grid, как обратиться к этим значениям?


Код

Var
 i: integer;
 ARowIndex: Integer;
 ARowInfo:  TcxRowInfo;
begin
 with dbgMail.dataController do
  begin
    beginupdate;
    try
      for I := 0 to GetSelectedCount - 1 do
        begin
          ARowIndex := GetSelectedRowIndex(I);
          ARowInfo  := GetRowInfo(ARowIndex);
          if ARowInfo.Level < Groups.GroupingItemCount then
            Continue
          else
            begin

             //редактируем
              edit;
              Values[ARowInfo.RecordIndex, dbgMailRECIPIENT.Index] := бла-бла-бла;
              post;

               //или читаем значение
               ShowMessage(Values[ARowInfo.RecordIndex, dbgMailRECIPIENT.Index]);

            end;//else
        end;//for
    finally
      endupdate;
    end;//try
  end;//with


Маленький нюанс. В событии OnShow окна требуется добавить код:
Код

  with dbgMail do
    if DataController.RecordCount > 0 then
      Controller.FocusedRow.Selected := True;


Для чего?
Когда открывается окно, то запись как бы и является выделенной визуально, но физически она не выделена. Она сфокусирована, но не выделена. Обращайте внимание на форму курсора в служебной колонке smile Но это, конечно, зависит от настроек грида.

Добавлено через 8 минут и 26 секунд
offline, а ещё советую прочитать справку на тему ForEachRow()
ms-help://borland.bds5/ExpressDataController.BDS5/ExpressDataController/IDH_TcxCustomDataController_ForEachRow.htm



Это сообщение отредактировал(а) Akella - 25.9.2009, 07:57
PM MAIL   Вверх
offline
Дата 25.9.2009, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



Большое спасибо, обязательно попробую!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0442 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.