cxgrid dbloopupcombobox kullanımı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
eren2000
Üye
Mesajlar: 126
Kayıt: 26 Haz 2003 06:40
Konum: aksaray
İletişim:

cxgrid dbloopupcombobox kullanımı

Mesaj gönderen eren2000 »

CxGrid içerisinde bir sahadaki bilgileri dblookupcombobox ile alıyorum. Sorunum şu. Id,adsoyad,tckimlik sahalarını açılan bir combobox içerisinde görüyorum ve adsoyadı buradan seçiyorum. Seçtiğim adsoyad geliyor ama aynı adsoyad dan başka bir tane daha varsa o gelmiyor. İlk kayıt geliyor. Adsoyadı seçip Id değerine göre getirtebilsem sorun çözülecek. Bura da seçtiğim adsoyada göre listenin bağlı olduğu sicil değerlerine konumlanma yapamıyorum. Bu sorunu nasıl hallederim. Listeden seçtiğim kayıta ait bilglerin gelmesini istiyorum seçimi de adsoyada göre yapmak istiyorum. Delphi7 ve firebird 2.0 kullanıyorum. Teşekkürler.
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: cxgrid dbloopupcombobox kullanımı

Mesaj gönderen mkysoft »

lookup field kısmından id, lookup value kısmında adsoyad seçmeniz lazım sanırım.
adnansirca
Üye
Mesajlar: 135
Kayıt: 14 Kas 2005 12:24

Re: cxgrid dbloopupcombobox kullanımı

Mesaj gönderen adnansirca »

Ben lookup işlemlerinde genellikle TcxDBExtLookupComboBox bileşenini kullanırım. Size de tavsiye ederim.
Bir örnek ile açıklayalım dilerseniz.
Örneğin il ve ilçeleri aldığımız iki tablo düşünelim. İl tablosu master ilçe tablosu detail olsun.
Herhangi bir cxGrid de birden fazla view oluşturun. Ve oluşturulan bu viewlerden birine il birine ilçe tablosunu aktarın.
Viewlerin text(*.dfm) kodları aşağıda. Siz kendinize göre düzenleyin.

Kod: Tümünü seç

object cxGridviewIl: TcxGridDBTableView
            DataController.DataSource = FrmGlobal.DsIl
            DataController.KeyFieldNames = 'IDNO'
            
            object cxGridviewIlIDNO: TcxGridDBColumn
              DataBinding.FieldName = 'IDNO'
              Visible = False
            end
            object cxGridviewIlADI: TcxGridDBColumn
              DataBinding.FieldName = 'ADI'
            end
          end
          object cxGrid2Level1: TcxGridLevel
            GridView = cxGridviewIl
          end
        
          object cxGridviewIlce: TcxGridDBTableView
            DataController.DataSource = FrmGlobal.DsIlce
            DataController.KeyFieldNames = 'DIDNO'
         
            object cxGridviewIlceDIDNO: TcxGridDBColumn
              DataBinding.FieldName = 'DIDNO'
              Visible = False
            end
            object cxGridviewIlceADI: TcxGridDBColumn
              DataBinding.FieldName = 'ADI'
            end
          end
          object cxGrid3Level1: TcxGridLevel
            GridView = cxGridviewIlce
          end
Artık bu verileri istediğiniz yerde kullanabilirsiniz.

Bileşenin özelliklerini de aşağıdaki şekilde ayarlayalım.

Kod: Tümünü seç

object cxDBExtLookupComboBox2: TcxDBExtLookupComboBox
          Left = 120
          Top = 159
          AutoSize = False
          DataBinding.DataField = 'ILCE'
          DataBinding.DataSource = FrmGlobal.DsTanik
          Properties.View = cxGridviewIlce
          Properties.KeyFieldNames = DID'NO'
          Properties.ListFieldItem = cxGridviewIlceADI
          TabOrder = 9
          Height = 24
          Width = 145
        end

        object cxDBExtLookupComboBox1: TcxDBExtLookupComboBox
          Left = 120
          Top = 132
          AutoSize = False
          DataBinding.DataField = 'IL'
          DataBinding.DataSource = FrmGlobal.DsTanik
          Properties.View = cxGridviewIl
          Properties.KeyFieldNames = 'IDNO'
          Properties.ListFieldItem = cxGridviewIlADI
          TabOrder = 10
          Height = 24
          Width = 145
        end
iyi çalışmalar.
Cevapla