Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.049 c
2-1164136349
tototo
2006-11-21 22:12
2006.12.10
Array of Char


15-1164123137
oldman
2006-11-21 18:32
2006.12.10
Назовите любое n-значное простое число...


15-1164005896
vidiv
2006-11-20 09:58
2006.12.10
Вопрос по MSSQL


2-1163950654
Lubacha
2006-11-19 18:37
2006.12.10
Вопрос по модальному окну


8-1146395580
Gumus
2006-04-30 15:13
2006.12.10
Popupmenu





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский