DBGrid1 Alanlarını Gizle Göster Olarak Kullanmak.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

DBGrid1 Alanlarını Gizle Göster Olarak Kullanmak.

Mesaj gönderen ozcank »

Arkadaşlar Merhaba; Bir sorunum var ve sizlerden yardım istiyorum.


Delphi7 Kullanıyorum.


Form1 de DBGrid1 var ve Alanlarını isteğe göre gizleyip göstermek istiyorum.


Cari Kod = CARI_KOD
Cari Isim = CARI_ISIM
Stok Kodu = STOK_KODU
..
..

..

Şeklinde
PopupMenu Ekledim ve bu alanları da tanımladım. DBGrid1 de sağ klik yapınca Cari Kod a tıkladığımda gizlenmesini tekrar tıkladığım da görünmesini sağlamak istiyorum.
PopupMenu de Checked özeliği var görünüyorsa işaretli aksi durumda işaretsiz ayarlamaya uğraştım olmadı. Yardımcı olursanız veya fikir verirseniz çok sevinirim.

Kod: Tümünü seç

delphi]procedure TForm16.CariKod1Click(Sender: TObject);
var
 i: Integer;
 ColumnIndex: Integer;
begin
 // CariKod1'in Checked durumunu tersine çevir
 CariKod1.Checked := not CariKod1.Checked;

 // CARI_KOD sütununu bul
 ColumnIndex := 0;
 for i := 0 to DBGrid1.Columns.Count - 0 do
 begin
   if DBGrid1.Columns[0].FieldName = 'CARI_KOD' then
   begin
     ColumnIndex := i;
     Break;
   end;
 end;

 // Sütun bulunduysa, Checked durumuna göre gizle veya göster
 if ColumnIndex = 0 then
 begin
   if CariKod1.Checked then
     DBGrid1.Columns[ColumnIndex].Visible := False  // CariKod1 işaretliyse sütunu gizle
   else
     DBGrid1.Columns[ColumnIndex].Visible := True;  // CariKod1 işaretli değilse sütunu göster
 end;
end;
Bu şekilde bir kod yapısı var ama istediğim gibi olmadı.
işaretliyorum gizliyor sonra DBGrid e dönünce tekrar görünüyor anlamadım.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: DBGrid1 Alanlarını Gizle Göster Olarak Kullanmak.

Mesaj gönderen freeman35 »

ozcank yazdı: 22 Mar 2025 06:11

Kod: Tümünü seç

procedure TForm16.CariKod1Click(Sender: TObject);
var
 i: Integer;
// ColumnIndex: Integer;
begin
 // CariKod1'in Checked durumunu tersine çevir
 CariKod1.Checked := not CariKod1.Checked;

 // CARI_KOD sütununu bul
// ColumnIndex := 0;
 for i := 0 to DBGrid1.Columns.Count - 0 do
 begin
   if DBGrid1.Columns[i].FieldName = 'CARI_KOD' then
   begin
     DBGrid1.Columns[ i ].Visible := not CariKod1.Checked;
     Break;
   end;
 end;
 
/*
 // Sütun bulunduysa, Checked durumuna göre gizle veya göster
 if ColumnIndex = 0 then  <--- Kolon bulunmazsa, burası her zaman 0. kolon olarak çalışır 
 begin
   if CariKod1.Checked then
     DBGrid1.Columns[ColumnIndex].Visible := False  // CariKod1 işaretliyse sütunu gizle
   else
     DBGrid1.Columns[ColumnIndex].Visible := True;  // CariKod1 işaretli değilse sütunu göster
 end;
end;
*/
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Re: DBGrid1 Alanlarını Gizle Göster Olarak Kullanmak.

Mesaj gönderen ozcank »

Çok teşekkür ederim. Emeğine sağlık. Son birşey ben bu alanları c:\ sürücüsün de AYARLAR.INI dosyasına
[Columns]
CARI_KOD=0
CARI_ISIM=1
PLASIYER_KODU=1

Şeklinde kaydediyorum. Sağ Klik yaptığım da 0 ve 1 e göre Cari Kod un durumunu verebilir miyim ? İşaretli veya İşaretsiz şeklinde.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: DBGrid1 Alanlarını Gizle Göster Olarak Kullanmak.

Mesaj gönderen freeman35 »

ozcank yazdı: 22 Mar 2025 02:04 Çok teşekkür ederim. Emeğine sağlık. Son birşey ben bu alanları c:\ sürücüsün de AYARLAR.INI dosyasına
[Columns]
CARI_KOD=0
CARI_ISIM=1
PLASIYER_KODU=1

Şeklinde kaydediyorum. Sağ Klik yaptığım da 0 ve 1 e göre Cari Kod un durumunu verebilir miyim ? İşaretli veya İşaretsiz şeklinde.
evet
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla