Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение данных в TcxDBGrid в динамике, не могу проинициализировать компоненту 
:(
    Опции темы
zhandrew
Дата 13.6.2007, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго дня!
Сделал динамическое отображение данных в компоненте TcxGrid. Динамическое, значит, на форму брошена компонента, сделана ее предварительная настройка, но не отображены поля таблицы, не подключен источник данных. Формирую запрос на лету, получаю данные, количество и тип полей, подключаю источник, отображаю - все ОК! Но, при повторном входе в процедуру не могу сбросить уже имеющиеся поля (колонки). И новые CreateColumn создает новые колонки в дополнении к имеющимся. Скажем, выполняю сформированный запрос:

Код

select account,curr,summa from mytable where curr=840


получаю столбцы: 

account  curr  summa
----------------------------
2202      840  10

затем выполняю запрос:
Код

select account,curr,summa from mytable where curr=978


получаю столбцы: 

account  curr  summa  account  curr  summa
--------------------------------------------------------
2202      978  20          2202      978  20


Вот код:

Код

procedure TfmMain.DisplayGrid;
var
  i: integer;

  // grdDataGrid это TcxGrid - объявлен в другом месте

  GridColumn   : TcxGridDBColumn;
  FieldPtr         : PFieldRecord;
  SummaryGroup : TcxDataSummaryGroup;

begin
  try
  tsDataGrid.Caption := NodeRec.NodeName;

   ...

  grdDataGrid.BeginUpdate;

  for i:=grdDataGridDBTableView.ColumnCount -1 downto 0 // попытка добиться хоть чего-нибудь...
 grdDataGridDBTableView.Columns[i].Destroy;

  grdDataGridDBTableView.ClearItems;

  grdDataGridDBTableView.DataController.Summary.SummaryGroups.Clear;

  ...

  for i:=0 to FieldsList.Count - 1 do
  begin
     FieldPtr := FieldsList[i];
     GridColumn := grdDataGridDBTableView.CreateColumn;

     with GridColumn do begin
       Visible := FieldPtr^.FieldVisible;
       Caption := FieldPtr^.FieldTitle;
       DataBinding.FieldName := FieldPtr^.FieldName;
    
        ........



Не хочеться убивать компоненту перед каждым запросом...
Спасибо.

PM MAIL   Вверх
zhandrew
Дата 14.6.2007, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Парни! Код работает! Это я из лесу вышел. Ошибка у меня в коде вне приведенного фрагмента. Просто каждый раз при вызове процедуры вызывался код добавления полей, а это надо сделать один раз. Теперь усё гуд! Кстати, и дестрой колумнс не нужен - clearitems работает корректно. Всем удачи!
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.0387 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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