Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизСоздание колонок 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 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c