merhabalar
dbgrid içerisindeki 100 adet satır girilmiş olarak duşünelim
ad soyad sınıf deger
ali abc 1 Readonly=True
hasan bcd 2 Readonly=false
mehmet aaa 1 Readonly=True
mahmut bbb 2 Readonly=false
sınıf 2 olan satırlarımın örnekte 2 ve 4.satırımdakı deger alanını degiştire bilirken
sınıf 1 olan satırlarımın örnekte 1 ve 3. deger alanının degerlerini degiştirememe readonly alanını true seklinde ayarlama yapabilir miyim.
dbgrid'in cellclick olayına
if Query1.Fieldbyname('sinif').value=2 then
dbgri1.readonly:=True
Else
dbgri1.readonly:=False;
şeklinde olabilir diye düşünüyorum.
Yukarıdaki kod aynı zamanda Dbgridin key press'ine de yazılmalı mı?
TField 'ın ReadOnly property'si tam da istediğiniz şeyi sağlıyor.
(08-10-2021, Saat: 19:29)mcuyan Adlı Kullanıcıdan Alıntı: [ -> ]dbgrid'in cellclick olayına
if Query1.Fieldbyname('sinif').value=2 then
dbgri1.readonly:=True
Else
dbgri1.readonly:=False;
şeklinde olabilir diye düşünüyorum.
öncelikle teşekkürler bilgi için ancan tam istedigim gridin bütün alanını degil sadece oradakı sınıf degerleri 2 olan griddeki deger alanlarını kapatmak istıyorum
if Query1.Fieldbyname('sinif').value=2 then
DBGrid1.ColumnByName('deger').ReadOnly:=true;
Else
DBGrid1.ColumnByName('deger').ReadOnly:=false;
bu şekilde sorun çözdüm yardımlarınız için teşekkürler.
(11-10-2021, Saat: 10:30)ibrahim.aydin@perga.com.tr Adlı Kullanıcıdan Alıntı: [ -> ] (08-10-2021, Saat: 19:29)mcuyan Adlı Kullanıcıdan Alıntı: [ -> ]dbgrid'in cellclick olayına
if Query1.Fieldbyname('sinif').value=2 then
dbgri1.readonly:=True
Else
dbgri1.readonly:=False;
şeklinde olabilir diye düşünüyorum.
öncelikle teşekkürler bilgi için ancan tam istedigim gridin bütün alanını degil sadece oradakı sınıf degerleri 2 olan griddeki deger alanlarını kapatmak istıyorum
if Query1.Fieldbyname('sinif').value=2 then
DBGrid1.ColumnByName('deger').ReadOnly:=true;
Else
DBGrid1.ColumnByName('deger').ReadOnly:=false;
bu şekilde sorun çözdüm yardımlarınız için teşekkürler.
Aynı kodu daha pratik şöyle yazabilirsin
DBGrid1.ColumnByName('deger').ReadOnly:=Query1.Fieldbyname('sinif').value=2;
Ben tüm gridi readonly yapacaksınız sanmıştım. pardon..