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ı?
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;
Kalan ömrünün en genç build’indesin.
Counter artar, deadline sabit.
Age++ çalışıyor, rollback yok.
Her yer exception
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 Columns Otomatik Boyutlandırma Halil Han BADEM 8 8.538 23-01-2025, Saat: 14:51
Son Yorum: OZCANK
  dbgrid sutun toplamini alip lazreport da gostermek sadikacar60 6 1.400 02-12-2024, Saat: 12:21
Son Yorum: sadikacar60
  DBGrid Detay Gösterilmesi. OZCANK 19 13.849 05-04-2024, Saat: 00:48
Son Yorum: Pimapen_Nuri
  DbGrid'de Seçili Satırların Fast Reportta Raporlanması [ÇÖZÜLDÜ] bünyamin68 4 2.002 17-12-2023, Saat: 15:08
Son Yorum: bünyamin68
  DBGRID Otomatik Sıra No Alanı [ÇÖZÜLDÜ] bünyamin68 2 1.423 18-10-2023, Saat: 21:00
Son Yorum: bünyamin68



Konuyu Okuyanlar: 1 Ziyaretçi