Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.04;
Скачать: 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 вся ветка

Текущий архив: 2002.11.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-11193
sndanil
2002-10-24 16:10
2002.11.04
проблема с TIniFile


14-11414
Miss
2002-10-14 09:02
2002.11.04
RB 6.02


1-11142
Vaddya
2002-10-23 20:36
2002.11.04
Оператор switch-case


1-11158
VaS
2002-10-23 21:06
2002.11.04
string в record


3-11103
Ренат
2002-10-14 10:06
2002.11.04
Привелегии на всю базу