Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
dbgrid satırdaki bir alanı salt okunur Hale getirme
#1
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.
Cevapla
#2
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.
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#3
Yukarıdaki kod aynı zamanda Dbgridin key press'ine de yazılmalı mı?
_______________________
Rep ver be ya! 
Cevapla
#4
TField 'ın ReadOnly property'si tam da istediğiniz şeyi sağlıyor.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#5
(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.
Cevapla
#6
(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;
Mükemmel, Mümkünün Düşmanıdır 
Cevapla
#7
Ben tüm gridi readonly yapacaksınız sanmıştım. pardon..
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#8
(11-10-2021, Saat: 16:18)bydelphi Adlı Kullanıcıdan Alıntı:
(11-10-2021, Saat: 10:30)ibrahim.aydin@perga.com.tr Adlı Kullanıcıdan Alıntı: ö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;


bilgi için teşekkürler
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  DBGrid Kaydırma Çubukları sunbeki 2 275 03-06-2021, Saat: 23:43
Son Yorum: sunbeki
  DBGrid den Excel Aktarımı OZCANK 30 3.513 17-05-2021, Saat: 16:04
Son Yorum: emozgun
  Dbgrid Excele Aktarma Sorunu bünyamin68 3 665 25-03-2021, Saat: 14:13
Son Yorum: bünyamin68
  Dbgrid Drag&Drop İle Satır Sıralama TheEAK 6 1.577 18-03-2021, Saat: 14:50
Son Yorum: TheEAK
  dbgrid sadece ekranda görünen satırlar info@guzelceker.com 3 871 10-03-2021, Saat: 14:42
Son Yorum: mustafaozpinar



Konuyu Okuyanlar: 1 Ziyaretçi