Форум — Ответы ( К темам )
? | DrZubr: Восстановление порядка колонок DBGrid'а (01-05-2003 18:05:05) |
Проблема такая. Хочу сделать так, чтобы при закрытии формы сохранялись параметры DBGrid'а (ширина колонок и их порядок). С шириной проблем нет, а вот с порядком... Значит, я делаю вот что: сохраняю DBGrid.Columns[i].FieldName. А при восстановлении эти самые FieldName'ы и записываю. Все бы ничего. Даже колонки отображаются в той последовательности, как в прошлый запуск программы. Но стоит переставить две колонки местами — и порядок колонок становится как в таблице БД, а не на своих местах только те, которые только что переставил. Народ, кто знает что делать с этой бедой — пишите на мыло. P.S. RxLib не предлагать (т.к. меня неофициальный порт под Delphi7 не впечатлил абсолютно — уж очень многое работает не так, как написано) | |
Павел (04-05-2003 11:01:34) | |
А у Grid-a ты создаешь Columns с помощью Columns Editor или по умолчанию? Напиши код, где не работает. И какими методами сохраняешь порядок в Grid-e ? У меня вроде все работает: (с помощью Columns Editor ничего не создавал) // сохраняем порядок (здесь bSave типа TButton) void __fastcall TForm1::bSaveClick(TObject *Sender) { DBGrid1->Columns->SaveToFile("GrOrd.txt"); } //---------------------------------------------------- // когда надо — восстанавляваем его void __fastcall TForm1::bLoadClick(TObject *Sender) { DBGrid1->Columns->LoadFromFile("GrOrd.txt"); } //---------------------------------------------------- например при открытии таблицы:(DBGrid связан c Table1) Table1->Open(); DBGrid1->Columns->LoadFromFile("GrOrd.txt"); Также у DBGrid есть методы DBGrid1->Columns->RebuildColumns(); и DBGrid1->Columns->RestoreDefaults(); // для шрифта и т.д. см Help |