cxGrid column konumlamayı engelleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mehmetantalya
Üye
Mesajlar: 189
Kayıt: 30 Eyl 2013 10:17

cxGrid column konumlamayı engelleme

Mesaj gönderen mehmetantalya »

Merhabalar,
Başlığa ne yazacağımı bilemedim tam olarak. Sorunum , cxgridde verilerim var griddeki bir sutun her satirda datasedeki alacagi degere gore readonly olacak veya yazilabilir olacak.
Misal;
turu borc alacak
------------ --------------------------------------- -------------------------------------
alacakli (burasi yazilamaz veya burasi yazilabilir olacak
konumlanamaz olacak)
borclu burasi yazilabilir burasi yazilamaz
alacakli burasi yazilamaz burasi yazilabilir

....


Şeklinde bir yapi yapmam gerekiyor gridde.

Bunu nasil yapabilirim acaba?
Teşekkürler.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: cxGrid column konumlamayı engelleme

Mesaj gönderen freeman35 »

cxgrid kolon larında edit focus vs özellikleri var onları true false yapabilirsin
kolay gele
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 !!!
mehmetantalya
Üye
Mesajlar: 189
Kayıt: 30 Eyl 2013 10:17

Re: cxGrid column konumlamayı engelleme

Mesaj gönderen mehmetantalya »

Öncelikle teşekkür ederim.
Komple kolonu dediğiniz gibi focuslanmasini engelleyebiliyorum. Ama benim istedigim herhangi bir satirin belli bir sutununu focuslanamaz yapmak.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: cxGrid column konumlamayı engelleme

Mesaj gönderen vkamadan »

Merhabalar ,
Ben cxGrid de aynı sütun içinde bazı şartlara göre farklı satırlarda farklı bileşenleri göstermek için ilgili column 'un OnGetProperties özelliğinden yararlanıyorum, (örn: Seçim sütunumda seçilmeye müsait olan kayıtlar için CheckBox, müait olmayanlar için uygun bir icon göstermek amaçlı cxImageBox yada cxImage kullanıyorum )

Sizin olayınızda şöyle bir örnek işinizi görebilir , forma bir tane cxEditRepository ekleyin ve içine editlenebilir kayıtlarda kullanmak üzere bir cxTextEdit ekleyin, adına rpNormalEdit diyelim, birde editlenemeyecek kayıtlarda kullanmak için de cxTextEdit ekleyip ReadOnly := True yapalım adına da rpReadOnlyEdit diyelim. sonra ilgili Column' un OnGetProperties olayına ;

Kod: Tümünü seç

procedure TForm1.cxGirdDBTableView1secimGetProperties(
  Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
  var AProperties: TcxCustomEditProperties);
var
 intCol : TcxCustomGridTableItem;
begin
 intCol :=  (Sender.GridView as TcxGridDBTableView).GetColumnByFieldName('editlenebilirmi'); // duruma karar vereceği grid içinde kullanadığım başka bir sütunu (ya da sütunların) bir değişkene alıyorum.

// ARecord bize o anki işlem yapılan kayıt setini verir , yukardaki satırda kontrol edeceğimiz alan ya da alanların Indexlerini elde etmek için column'u bulduk elimizde artık index var ve Values özelliğine ilgili indexi verdik, dğeerini kontrol edip Normal ya da ReadOnly nesnesini bağladık.
 if ARecord.Values[ intCol.Index ] = 'editlensin' then AProperties := rpNormalEdit.Properties else AProperties := rpReadOnlylEdit.Properties ;

end;
Kolay gelsin.
Volkan KAMADAN
www.polisoft.com.tr
mehmetantalya
Üye
Mesajlar: 189
Kayıt: 30 Eyl 2013 10:17

Re: cxGrid column konumlamayı engelleme

Mesaj gönderen mehmetantalya »

Teşekkür ederim Volkan Bey, deneyip sonuca yazacagim.
mehmetantalya
Üye
Mesajlar: 189
Kayıt: 30 Eyl 2013 10:17

Re: cxGrid column konumlamayı engelleme

Mesaj gönderen mehmetantalya »

Çok teşekkür ederim . Çalıştı.
Cevapla