Delphi Can
DBGrid sütun isimlerini dosyada saklama - Baskı Önizleme

+- Delphi Can (http://www.delphican.com)
+-- Forum: Delphi (http://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (http://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: DBGrid sütun isimlerini dosyada saklama (/showthread.php?tid=3123)



DBGrid sütun isimlerini dosyada saklama - OZCANK - 08-01-2019

Arkadaşlar Merhaba; Ben şöyle bir şey yaptım ama bir türlü çalıştıramadım.

Dbgrid1 e alanları seçerek aktarıyorum sonra da form açılışında aktif etmek istiyorum kod şu şekilde;

DBGrid1.Columns.LoadFromFile('C:\Kaydet.txt');
yardımcı olursanız çok sevinirim.
Form21 in OnKeyPress yazıyorum KeyPress true yapıyorum olmuyor.


Form da Komut Çalıştırma. - CesuR - 08-01-2019

Sanırım sorununuz Dbgride colonları eklemiyorsun. Dbgrid1.columns.add şeklinde baştan ekle sonra bilgiyi çekmeyi dene.


Cvp: Form da Komut Çalıştırma. - OZCANK - 08-01-2019

(08-01-2019, Saat: 00:54)CesuR Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Sanırım sorununuz Dbgride colonları eklemiyorsun. Dbgrid1.columns.add şeklinde baştan ekle sonra bilgiyi çekmeyi  dene.

Merhaba CesuR kardeşim ben "kaydet.txt" içerisine saklıyorum. Sadece form21 e girerken sakladığım dosyadan DBGrid1 kolonları yüklemek istiyorum.


Form da Komut Çalıştırma. - esistem - 08-01-2019

FORM SHOW olayına yazın çalışır.


Cvp: Form da Komut Çalıştırma. - OZCANK - 10-01-2019

(08-01-2019, Saat: 18:10)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.FORM SHOW olayına yazın çalışır.

Teşekkür ederim. Birde DBGrid1 Caption alanlarına başlıkları yazdım bu şekilde kaydedip nasıl çağırabilirim?

dbgrid1.columns.savetofile('c:\ALANLAR.txt');
DBGrid1.ColumnsLoadFromFile('C:\ALANLAR.txt');
Listele.Items.AddStrings(IptalFat.FieldList);



Form da Komut Çalıştırma. - esistem - 10-01-2019

dbgrid1.columns.savetofile('c:\ALANLAR.txt');
komutu caption larıda kaydeder zaten ayrıca bişi yapmanıza gerek yoktur.


Cvp: Form da Komut Çalıştırma. - OZCANK - 10-01-2019

(10-01-2019, Saat: 08:48)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.dbgrid1.columns.savetofile('c:\ALANLAR.txt');
komutu caption larıda kaydeder zaten ayrıca bişi yapmanıza gerek yoktur.

Tşk. benim yapmak istediğim şu;
DBGrid1 columns larını caption isim vererek kaydediyorum ve sonrasında bunları ,

Aşağıdaki Kod yardımı ile ListCheckBox1 e aktarıyorum ama buraya da tablo da ki alanlar geliyor FATUIRS_NO Caption a ben Belge No yazıyorum bunun gelmesini istiyorum.
kaydettikten sonra da geri çağırdığımda hangi alanları işaretlediysem o şekilde gelmesi gerekiyor. Ama ben bir türlü beceremedim . Yardımlarınıza ihtiyacım var.
var
     I,S:Integer;
begin
     Dbgrid1.Columns.Clear;
     S:=0;
     For I:=0 To Listele.Items.Count-1 do begin
         If Listele.Checked[I] Then begin
            Dbgrid1.Columns.Add;
            Dbgrid1.Columns[S].Title.Caption:=Listele.Items[I];
            Dbgrid1.Columns[S].FieldName    :=Listele.Items[I];
            S:=S+1;
     end;
     end;

end;



DBGrid sütun isimlerini dosyada saklama - esistem - 10-01-2019

Kodu incelemek lazım nerde neyi kaydediyonuz görmeden bişi diyemem. Ben dbgridi forma koyup üzerinde değişiklikleri yapıp savetofile ile kaydedip onshow olayında da loadfromfile ile kaydedilen dosyayı çekiyorum.


Cvp: Form da Komut Çalıştırma. - klavye - 10-01-2019

(10-01-2019, Saat: 12:49)OZCANK Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(10-01-2019, Saat: 08:48)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.dbgrid1.columns.savetofile('c:\ALANLAR.txt');
komutu caption larıda kaydeder zaten ayrıca bişi yapmanıza gerek yoktur.

Tşk. benim yapmak istediğim şu;
DBGrid1 columns larını caption isim vererek kaydediyorum ve sonrasında bunları ,

Aşağıdaki Kod yardımı ile ListCheckBox1 e aktarıyorum ama buraya da tablo da ki alanlar geliyor FATUIRS_NO Caption a ben Belge No yazıyorum bunun gelmesini istiyorum.
kaydettikten sonra da geri çağırdığımda hangi alanları işaretlediysem o şekilde gelmesi gerekiyor. Ama ben bir türlü beceremedim . Yardımlarınıza ihtiyacım var.
var
     I,S:Integer;
begin
     Dbgrid1.Columns.Clear;
     S:=0;
     For I:=0 To Listele.Items.Count-1 do begin
         If Listele.Checked[I] Then begin
            Dbgrid1.Columns.Add;
            Dbgrid1.Columns[S].Title.Caption:=Listele.Items[I];
            Dbgrid1.Columns[S].FieldName    :=Listele.Items[I];
            S:=S+1;
     end;
     end;

end;

Yukarıda yazdığınız kod sorunlu degil mi? Title caption ve fieldbyname ayni degeri atiyorsunuz. database de FATUIRS_NO olan alan adini atamak yerine sizin orneginizde "belge no" degerini atmis oluyorsunuz.
Ayrıca bu kod ListCheckBox1 e deger aktarmaz. tam tersi ListCheckBox1  deki degeri gride aktarir.


Cvp: Form da Komut Çalıştırma. - OZCANK - 10-01-2019

(10-01-2019, Saat: 15:02)klavye Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(10-01-2019, Saat: 12:49)OZCANK Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Tşk. benim yapmak istediğim şu;
DBGrid1 columns larını caption isim vererek kaydediyorum ve sonrasında bunları ,

Aşağıdaki Kod yardımı ile ListCheckBox1 e aktarıyorum ama buraya da tablo da ki alanlar geliyor FATUIRS_NO Caption a ben Belge No yazıyorum bunun gelmesini istiyorum.
kaydettikten sonra da geri çağırdığımda hangi alanları işaretlediysem o şekilde gelmesi gerekiyor. Ama ben bir türlü beceremedim . Yardımlarınıza ihtiyacım var.
var
     I,S:Integer;
begin
     Dbgrid1.Columns.Clear;
     S:=0;
     For I:=0 To Listele.Items.Count-1 do begin
         If Listele.Checked[I] Then begin
            Dbgrid1.Columns.Add;
            Dbgrid1.Columns[S].Title.Caption:=Listele.Items[I];
            Dbgrid1.Columns[S].FieldName    :=Listele.Items[I];
            S:=S+1;
     end;
     end;

end;

Yukarıda yazdığınız kod sorunlu degil mi? Title caption ve fieldbyname ayni degeri atiyorsunuz. database de FATUIRS_NO olan alan adini atamak yerine sizin orneginizde "belge no" degerini atmis oluyorsunuz.
Ayrıca bu kod ListCheckBox1 e deger aktarmaz. tam tersi ListCheckBox1  deki degeri gride aktarir.

Evet Klavye aynen dediğin gibi ve ben bunu yapamadım nasıl bir kod yapısı kullanabilirim?