DBGridのColumnMovedイベントで列移動させた後にクリアボタンを押せば
列を移動させる前の列順(デフォルトの列順)にしたいのですが、
その場合列が40列ぐらいあった場合でも
Columns[0].Title.caption := 'あ';
Columns[1].Title.caption := 'い';
・
・
・
・
Columns[40].Title.caption := 'わ';
というふうにしなければならないのでしょうか?
何か良い対処方法があれば教えてください。
よろしくお願い致します。
タイトルキャプションを設定しても、データの関連までは元に戻りません。
元に戻したいのであれば、最初の状態を保存しておく必要があります。
DBGrid1.Columns.SaveToFile(・・・・ で、ファイルに保存しておきます。
ベースとして初期状態を保存しておけば どう動かしても復元できます。
復元は
DBGrid1.Columns.LoadFromFile(・・・・で、戻します。
AY様
お返事ありがとうございます。
ファイルに保存ですか…
すっごく手間ですがデータも元に戻したいということであれば
Columns[0].FieldName := 'AAAAAA'; というふうでもできますよね?
ファイルがいやならばストリームに保存したらどうですか?
それなら残骸も残りませんよ
KHE00221様
お返事ありがとうございます。
ストリームの保存というのを初めて聞きました。。
(なにせ、Delphiを始めたのも半年前で・・・)
今少しGoogleでストリームで保存を調べてみたのですが、
初心者ゆえ理解できませんでした・・・
簡単でいいのでどのようにして使うのか教えていただけませんでしょうか?
よろしくお願いいたします。
ちなみに、DBGridのカラムを移動です。
こんな感じかな
var
Form4: TForm4;
MemoryStream: TMemoryStream;
implementation
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
MemoryStream.Position := 0;
DBGrid1.Columns.LoadFromStream(MemoryStream);
end;
procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
begin
MemoryStream.Free;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
MemoryStream := TMemoryStream.Create;
DBGrid1.Columns.SaveToStream(MemoryStream);
end;
KHE00221様
お返事ありがとうございます!!
今やってみたら出来ました!!!
本当にありがとうございました!!
ツイート | ![]() |