Форум: "Базы";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
ВнизСортировка 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c