Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

Принудительная сортировка в сетке.   Найти похожие ветки 

 
Kostafey ©   (2006-11-24 10:54) [0]

Хотел  узнать в каком направленни нужно двигаться чтобы придти к тому, чтобы итоговые значения выводились бы в конце сетки.
Итак, содержимое сетки (DBGridEh) сформировано в результате SQL-запроса к SQL Server. В запросе дописал union, где и были посчитаны "итого" (в сетке это еще одна строчка). Но эта Итого в сетке размещается не в конце а в середине. А как сделать чтобы она оказалась в конце ?

1) Сделать сортировку по числовому полю. Тогда Итого точно попадет в конец, но требуется сортировка по другому критерию.
2) Использовать Footer в DBGridEh, но я этим пользоваться не умею, а самое главное непонятно как работать с этим Футером при экспорте данных из сетки в тот же Excel.

Есть еще способы или возможны только 2 указанных?


 
Плохиш ©   (2006-11-24 10:58) [1]


> Kostafey ©   (24.11.06 10:54)  

select ...., 1 as Dummy from ...
union
select ...., 2 as Dummy from ....
order by Dummy, ...


 
clickmaker ©   (2006-11-24 11:01) [2]

а компонент DBSumList из той же EhLib пробовал?


 
Kostafey ©   (2006-11-24 11:06) [3]


> а компонент DBSumList из той же EhLib пробовал?

Нет не пробовал. Это аналог сетки ?


> Плохиш ©   (24.11.06 10:58) [1]

Ммм... сортировка должна быть по строковому значению.
Запрос-то вот какой (фрагмент):

"select a.PCH_NAME, "+

       "(select count(b.PCH_COD)+ "+
         "(select count(o.PCH_COD) "+
           "from ZVK1ARX o "+
           "where (o.DATE_ZVK between @DateFrom and @DateTo) "+
                 "and (o.PCH_COD = a.PCH_COD)) "+
          "from ZVK1 b "+
          "where (b.PCH_COD = a.PCH_COD) and "+
                   "(b.DATE_ZVK1 between @DateFrom and @DateTo)) as Kol1, "+

       "round((select count(b.PCH_COD)+ "+
         "(select count(o.PCH_COD) "+
           "from ZVK1ARX o "+
           "where (o.DATE_ZVK between @DateFrom and @DateTo) "+
                 "and (o.PCH_COD = a.PCH_COD)) "+
        "from ZVK1 b "+
        "where (b.PCH_COD = a.PCH_COD) "+
             "and (b.DATE_ZVK1 between @DateFrom and @DateTo))*100.0/(0.0000001+"+inttostr(tmpCount1)+"),2) as Acount1, "+
............................................................

"from PCH a "+
"Where (a.PCH_NAME="""+QParam.PodrazdAnalizer+" "+
"union "+
"Select ""ITOGO:"", "+      
       inttostr(tmpCount1)+" as Kol1, "+

       "((select count(b.PCH_COD)+ "+
         "(select count(o.PCH_COD) "+
           "from ZVK1ARX o "+
           "where (o.DATE_ZVK between @DateFrom and @DateTo)) "+
          "from ZVK1 b "+
          "where (b.DATE_ZVK1 between @DateFrom and @DateTo)))*100.0/("+inttostr(tmpCount1)+"+0.0000001) as Acount1, "+

       inttostr(tmpCount2)+" as Kol2, "+

............................................................
"From PCH p "+
"order by PCH_NAME ";


 
Плохиш ©   (2006-11-24 11:09) [4]


> Kostafey ©   (24.11.06 11:06) [3]
>
> > а компонент DBSumList из той же EhLib пробовал?
>
> Нет не пробовал. Это аналог сетки ?
>
>
> > Плохиш ©   (24.11.06 10:58) [1]
>
> Ммм... сортировка должна быть по строковому значению.

Вместо многоточий можешь записать всё что душе угодно, даже свои запросы.


 
clickmaker ©   (2006-11-24 11:12) [5]


> [3] Kostafey ©   (24.11.06 11:06)
>
> > а компонент DBSumList из той же EhLib пробовал?
>
> Нет не пробовал. Это аналог сетки ?


TDBGridEh.SumList

Specifies parameters of SumList object.

property SumList:TDBGridEhSumList;

Description

SumList ensures sums values in footer cells if Footer.ValueType is set to fvtSum or fvtCount.

(c) EhLib Help


 
Kostafey ©   (2006-11-24 11:15) [6]

> Вместо многоточий можешь записать всё что душе угодно, даже
> свои запросы.

Или я опять что-то не понял или мы опять скатились до банатьного "поменяй прокладку между клавиатурой и стулом" ? :))


 
ЮЮ ©   (2006-11-24 11:21) [7]

Да уж, прогладку пора менять :)

"select 1 Dummy, a.PCH_NAME, "+
...
"union "+
"Select 2,  ""ITOGO:"", "+      
...
   "order by 1, 2";


 
Плохиш ©   (2006-11-24 11:25) [8]


> ЮЮ ©   (24.11.06 11:21) [7]

Опередил :-)
order by Dummy, PCH_NAME, думается, так автору понятнее будет :-)


 
Anatoly Podgoretsky ©   (2006-11-24 11:30) [9]

> Kostafey  (24.11.2006 10:54:00)  [0]

1. ни в каком, поскольку задача решения не имеет
2. вот это и использовать и нет нужды решать не решаемую задачу


 
Kostafey ©   (2006-11-24 11:33) [10]

> "select 1 Dummy, a.PCH_NAME, "+
> ...
> "union "+
> "Select 2,  ""ITOGO:"", "+      
> ...
>   "order by 1, 2";


О, кстати здорово, сортирует. Только вот появляется еще один столбик вначале.
И что такое Dummy ? Я написал:

"select 1 Dummy, a.PCH_NAME, "+
....
"union "+
"Select 2,""Итого :"", "+  
....
"From PCH p "+
"order by 1, PCH_NAME ";



 
Kostafey ©   (2006-11-24 11:39) [11]

> И что такое Dummy ?

Не кидате помидорами, понял впрос дурацкий.

Но как убрать отображение первого столбца (цифрами 1,1,1,1,1,2) ?


 
Плохиш ©   (2006-11-24 11:53) [12]


> Kostafey ©   (24.11.06 11:39) [11]
> > И что такое Dummy ?
>
> Не кидате помидорами, понял впрос дурацкий.
>
> Но как убрать отображение первого столбца (цифрами 1,1,1,
> 1,1,2) ?

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


 
Anatoly Podgoretsky ©   (2006-11-24 11:53) [13]

> Kostafey  (24.11.2006 11:33:10)  [10]

Ты куда выводишь?
Скрыть чтоли не можешь?
Тогда смотри свойство Columns у объекта вывода.


 
Kostafey ©   (2006-11-24 17:39) [14]

> Тогда смотри свойство Columns у объекта вывода.


Columns.Items[7].Visible:=false;


Все, разобрался всем спасибо !



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

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

Наверх




Память: 0.51 MB
Время: 0.046 c
2-1164023733
Галинка
2006-11-20 14:55
2006.12.10
Создать вложения в XmlDocument


2-1164011733
Steep
2006-11-20 11:35
2006.12.10
ADO + Ms SQL Server


6-1152805949
Георгий А.
2006-07-13 19:52
2006.12.10
Как заставить перегрузиться сетевую карту


2-1164307993
Michael69
2006-11-23 21:53
2006.12.10
Подмена перетаскиваемого объекта в OnStratDrag


2-1164274308
lobach
2006-11-23 12:31
2006.12.10
Помогите с шифрованием.