Вниз
Скачать: CL | DM;

Создание колонок DBGrid а во время прогона программы   Найти похожие ветки 

 
diabolik_krsk   (2004-10-15 15:40) [0]

Уважаемые мастера, вопрос по добавлению колонок в DBGrid.

Создаю динамически следующие компоненты:
- ADOConnection (переменная ADOC);
- ADOQuery (переменная ADOQ)
- DataSource (переменная DS);

Затем из базы данных пытаюсь выдернуть названия столбцов и при заполнении DBGrid столбцам присвоить другое название через свойство Title параметра DBGrid.Columns.
В базе данных две таблицы main и columns. Данные столбца mastertablefield таблицы columns соответствуют названиям столбцов таблицы main.


var ADOQC: TADOQuery;
   ADOC: TADOConnection;
   DS: TDataSource;
   CItems: TColumn;
begin
   DS:=TDataSource.Create(nil);
   DS.Enabled:=false;
   DS.DataSet:=adoq;
   DS.Enabled:=true;
   DBGreed.DataSource:= ds;
   ADOQ:=TADOQuery.Create(nil);
   ADOQ.Active:=False;
   ADOQ.Connection:=idmConnect;
   ADOQ.SQL.Clear;
   ADOQ.SQL.Add("SELECT * FROM Columns;");
   ADOQ.Active:=True;
    with ADOQ do
      begin
        while not Eof do
          begin
           CItems:= MFR.DBGTop.Columns.Add;
           CItems.FieldName:=Fields.FieldByName("mastertablefield").AsString;
           CItems.Title.Caption:=Fields.FieldByName("fieldcaption").AsString;
           CItems.Title.Alignment:=taCenter;
          end;
        next;
      end;
   end;
end;


В результате прогона программа просто зависает и добиться от нее чего нибудь вразумительного не получается.
Подскажите где ошибка в коде??


 
Ozone ©   (2004-10-15 15:45) [1]

Next забыл


 
msguns ©   (2004-10-15 16:16) [2]

with DBGrid do
 begin
  // Перед созданием и запуском запроса в гриде :
  DataSource := nil;
  Columns.Clear;
   ...
  // После
  DataSource := QueryXX;
  Columns.RebuildColumns;
  for i := 0 to ColumnsCount-1 do
   begin
    Columns[i].Title.Caption := ..
    ...
   end;
 end;



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
14-1099084497
Alein
2004-10-30 01:14
2004.11.14
SkinMaker_ство.


3-1097590398
}|{yk
2004-10-12 18:13
2004.11.14
С какой радости Borland в DB.pas написала такое?


14-1098701040
вразлет
2004-10-25 14:44
2004.11.14
Вот как надо подрывать буржуйскую экономику)))


1-1098453965
kalishenko
2004-10-22 18:06
2004.11.14
QReport


14-1099045828
SPeller
2004-10-29 14:30
2004.11.14
Пишите на xxx@mymail.ru




   Наверх