cxgrid'de runtime column oluşturmada event sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

cxgrid'de runtime column oluşturmada event sorunu

Mesaj gönderen PROGRAMADOR »

Merhaba,

Cxgridde verileri db'den çektikten sonra bir sütun (column) ekliyorum kod ile (Gerçi 4. sıraya eklemek istememe karşın en sona ekliyor, bu da bir sorun benim için).

Süton ekledikten sonra propertiesi lookupcombobox olarak ayarlıyorum. Fakat onchange olayını bi türlü tetikletemedim. Yardımınızı bekliyorum.

Kodum şöyle:

Kod: Tümünü seç

var
col: TcxGridDBColumn;
....

      col := mview.CreateColumn;
      col.name:='MESLEKADI';
      col.Caption:='MESLEK ADI';
      col.PropertiesClassName:='TcxLookupComboBoxProperties';
      TcxLookupComboBoxProperties(col.Properties).DataController.DataSource:=ds;
      TcxLookupComboBoxProperties(col.Properties).ListSource:=lookupds;
      TcxLookupComboBoxProperties(col.Properties).KeyFieldNames:='ID';
      TcxLookupComboBoxProperties(col.Properties).DataController.MasterKeyFieldNames:= 'MESLEKID'; //master table
      TcxLookupComboBoxProperties(col.Properties).DataController.DetailKeyFieldNames  := 'ID'; //detail table
      TcxLookupComboBoxProperties(col.Properties).ListFieldNames:='MESLEKADI';
      TcxLookupComboBoxProperties(col.Properties).ListOptions.ShowHeader:=false;;
      TcxLookupComboBoxProperties(col.Properties).OnChange:=comboChange;
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Re: cxgrid'de runtime column oluşturmada event sorunu

Mesaj gönderen m_ekici »

OnChange yerine onEditValueChanged kullansan daha iyi olmaz mı? Her karakter değiştiğinde OnChange olayına gelecek ve buradaki kodu çalıştıracak. Mouse ile combo seçildikten veya enter tuşuna basıldıktan sonra buradaki değeri almak istiyosan onEditValueChanged de yapsan daha iyi olur. (Eğer amaç buysa, sadece değişikliği algılamak istiyorsan kodu denemek lazım)
iyi çalışmalar
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Re: cxgrid'de runtime column oluşturmada event sorunu

Mesaj gönderen PROGRAMADOR »

onEditValueChanged de yaptım sonuç aynı.
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: cxgrid'de runtime column oluşturmada event sorunu

Mesaj gönderen SimaWB »

Kod: Tümünü seç

col.PropertiesClassName:='TcxLookupComboBoxProperties';
yerine

Kod: Tümünü seç

col.PropertiesClass := TcxLookupComboBoxProperties;
denediniz mi?
There's no place like 127.0.0.1
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Re: cxgrid'de runtime column oluşturmada event sorunu

Mesaj gönderen PROGRAMADOR »

Merhaba,

Sanırım master detail ilişkisini cxgride yanlış gösterdiğim içim böyle bir hata alıyordum.

Kod: Tümünü seç


      LookupTb:=TFDTable.Create(self);
      LookupDS:=TDataSource.Create(self);
      lookuptb.Connection:= frmMain.Conn;
      lookuptb.TableName:=tbiscimeslekleri;
      lookupds.DataSet:=lookuptb;
      lookuptb.Active:=True;
      col :=vwView.Columns[4];
      col.Caption:='MESLEK ADI';
      col.PropertiesClassName:='TcxLookupComboBoxProperties';
      //TcxLookupComboBoxProperties(col.Properties).DataController.DataSource:=ds;
      TcxLookupComboBoxProperties(col.Properties).ListSource:=lookupds;
      TcxLookupComboBoxProperties(col.Properties).KeyFieldNames:='ID';
      TcxLookupComboBoxProperties(col.Properties).DataController.MasterKeyFieldNames:= 'MESLEKID'; //master table
      TcxLookupComboBoxProperties(col.Properties).DataController.DetailKeyFieldNames  := 'ID'; //detail table
      TcxLookupComboBoxProperties(col.Properties).ListFieldNames:='MESLEKADI';
      TcxLookupComboBoxProperties(col.Properties).ListOptions.ShowHeader:=false;
      TcxLookupComboBoxProperties(col.Properties).OnChange:=comboChange;
Kodu yukarıdaki gibi düzenleyince sorunum kalmadı.
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Cevapla