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

Не получается отобразить в DBGrid результат выполнения   Найти похожие ветки 

← →
Larisa   (2002-10-15 21:33) [0]

запроса с группировкой - поля отображаются, а совокупные характеристики - нет.

Заранее создаю DBGrid с нужным количеством полей, в приложении выполняется запрос вида:

"Select Name, sum(Weight) as Summa from Kont Group by Name",
a затем присваиваю значение св-ву FieldName:

DBGrid.Column[1].FieldName:="Summa";
Подскажите, пожалуйста, как справиться с проблемой.


← →
MsGuns ©   (2002-10-15 22:22) [1]

Что значит "Совокупные характеристики" ? Второе поле с суммой ?
Если так, то при динамическом привязывании TDBGrid.DataSource к НОВОМУ НД, надо или переформировывать коллекцию колонок (что более правильно) или вообще не трогать Columns.

Пример

Form1.Grid1.DataSource := nil; // Отвязать грид от текущего НД
Form1.Query1.SQL.Clear;
Form1.Query1.SQL.Add("SELECT Name, SUM(Weight) as Summa");
Form1.Query1.SQL.Add(" FROM Kont");
Form1.Query1.SQL.Add(" GROUP BY Name");
try
Form1.Query1.Prepare;
Form1.Open;
Except
ShowMessage("Не могу обратиться к таблице <Kont> !");
exit;
end;
with Form1.Query1.Fields do
begin
[0].DisplayLabel := "Наименование";
[1].DisplayLabel := "Сумма";
[1].DisplayFormat := "0.00##";
end;
Form1.Grid1.Columns.RebuildColumns; // Очистить коллекцию колонок
Form1.Grid1.DataSource := Form1.Query1;
Form1.Grid1.Columns.RebuildColumns; // Иниц-ть новую коллекцию
with Form1.Grid1.Columns do
begin
[0].Title.Alignment := taCenter;
[0].Width := 120;
[1].Title.Alignment := taCenter;
[1].Width := 48;
end;



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

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



Память: 0.45 MB
Время: 0.015 c
3-11062
User_OKA
2002-10-14 12:23
2002.11.04
БД Foxpro - как открыть


1-11257
vixic
2002-10-23 09:44
2002.11.04
Рисунок на Panel?


1-11229
deffer
2002-10-24 18:10
2002.11.04
delphi отказывает в приведении типа. Почему?


1-11256
I_S_
2002-10-23 06:59
2002.11.04
DBGridEh, раскраска строк.


1-11328
CrowD
2002-10-24 09:43
2002.11.04
Удаление переменных и обращение к классу из функции этого класса?




   Наверх