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

Вниз

Сортировка Column в DBGrid   Найти похожие ветки 

 
aldapooh   (2003-09-11 15:09) [0]

Добрый день! пожалуйста помогите...
Нужно колнки в гриде отсортировать по некоторому индексу
однако у меня ничего не получается
посоветуйте как это можно сделать красиво и удобно...

в данный момент у меня так вот НЕ работает как надо
for i:= 0 to Grid.ColCount - 1 do
Grid.Columns[i].Index:= MyIndex
где myindex указывает нужный мне порядок

где я ламерю!?
Спасибо.


 
Mike Kouzmine ©   (2003-09-11 15:14) [1]

Нужный мировой порядок?


 
ZEE ©   (2003-09-11 15:15) [2]

ты явно не туда залез
если для открытия таблицы ты пользуешь что-то типа TQuery/TADOQuery то сортировку делай прям в sql-запросе (ORDER BY), а ежели TTable - то не знаю...


 
aldapooh   (2003-09-11 15:20) [3]

я использую TTable без persistent полей


 
Johnmen ©   (2003-09-11 15:23) [4]

Полный код и как не работает ?


 
Mike Kouzmine ©   (2003-09-11 15:26) [5]

for i:= 0 to Grid.ColCount - 1 do
if Grid.Columns[i].Field.Name = "Vasia" then Grid.Columns[i].Index:= 1
else if Grid.Columns[i].Field.Name = "Vasia1" then Grid.Columns[i].Index:= 2ж
Но так нельзя.


 
aldapooh   (2003-09-11 15:30) [6]

for i:= 0 to Grid.ColCount - 1 do
Grid.Columns[i].Index:= MyIndex

это и етсь полный код процедуры SetColumnOrder
а не работает то что колонки отображаются не в том порядке как я указываю с помощью MyIndex

я просто не пойму что происходит когда я присваиваю новое значение ндексу колонки (все други сдвигаются или 2 меняются местами - я уже запарился)


 
Vlad ©   (2003-09-11 15:35) [7]

В цикле делать нельзя.
Как только ты первой колонке изменил индекс, то вторая (i+1) будет иметь уже совершенно другой индекс. И вся твоя сортировка пойдет лесом.
Перечилсяй колонки вручную, попорядку каждой присваивая индекс.


 
Mike Kouzmine ©   (2003-09-11 15:35) [8]

А MyIndex это кто?


 
stone ©   (2003-09-11 15:40) [9]

Вообще-то сортируются не колонки грида, а набор данных. Или я что-то не так понял?


 
aldapooh   (2003-09-11 15:40) [10]

>Vlad © (11.09.03 15:35) [7]
>В цикле делать нельзя.
>Как только ты первой колонке изменил индекс, то вторая (i+1) >будет иметь уже совершенно другой индекс. И вся твоя >сортировка пойдет лесом.
>Перечилсяй колонки вручную, попорядку каждой присваивая индекс.

Спасибо - но можно поподробнее... То есть как "перечисляй колонки вручную"???


 
aldapooh   (2003-09-11 15:43) [11]

> stone © (11.09.03 15:40) [9]

да вроде мне кроме как самих колонок и ничего сортировать не надо, мне лишь нужно выводить их в нужном порядке...


 
Mike Kouzmine ©   (2003-09-11 15:44) [12]

Ты б почитал бы что-нибудь. А то прям неудобно...


 
aldapooh   (2003-09-11 15:45) [13]

> Mike Kouzmine © (11.09.03 15:44) [12]
что мне почитать? я читать люблю! только не знаю с какой книжки начать ;)


 
Vlad ©   (2003-09-11 15:53) [14]

>aldapooh (11.09.03 15:40) [10]
DBGrid1.Columns[0].Field:=DataSet.FieldByName("NAME1");
DBGrid1.Columns[1].Field:=DataSet.FieldByName("NAME2");
DBGrid1.Columns[2].Field:=DataSet.FieldByName("NAME3");


 
DenK_vrtz ©   (2003-09-11 15:54) [15]

aldapooh, тебе Vlad © популярно объяснил, популярнее некуда!


 
Reindeer Moss Eater ©   (2003-09-11 15:57) [16]

Нужно иметь список имен полей, отсортированный по индексам полей.
В цикле присваивать экземплярам TField, найденным по имени индексы из списка.



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

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

Наверх




Память: 0.5 MB
Время: 0.016 c
6-4035
volser
2003-08-05 01:09
2003.10.02
Как отследить подключение и разрыв связи к интернету


3-3714
saperxl
2003-09-12 00:53
2003.10.02
Настройка InterBase


1-3957
Virus.ex
2003-09-20 13:46
2003.10.02
обработчики.......


3-3785
Samgin
2003-09-11 12:54
2003.10.02
Record already locked by this session


3-3719
AlexWeb
2003-09-13 15:33
2003.10.02
Вопрос по UPPER...