TMS Grid ComboList Column values problemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
muratmutlu
Üye
Mesajlar: 57
Kayıt: 02 Tem 2005 02:44
Konum: Antalya

TMS Grid ComboList Column values problemi

Mesaj gönderen muratmutlu »

Merhaba,

Geliştirmiş olduğum projemde TMS nin TDBAdvGrid 2.3.3.4 versiyonunu kullanıyorum. Bu gridde bulunan bir kolonumda kişinin cinsiyetini combobox ile seçtirmek istiyorum. Bunu yapabilmek için seçtiğim kolonun "Editor Type" özelliğini "edComboList" olarak ayarlıyorum. Ardından da GetEditorType event bölümüne aşağıdaki kodu yazıyorum.

Kod: Tümünü seç

  if GridListe.Columns[ACol].FieldName = 'Cinsiyet' then
  begin
    GridListe.Combobox.Items.Add('Male');
    GridListe.Combobox.Items.Add('Female');
  end;
Bu şekilde program çalışınca Cinsiyet kolonunda bir combobox beliriyor ve içinde "Male" , "Female" olarak iki seçenek karşıma çıkıyor, ancak herhangi birini seçip diğer kolona geçince program "Male is not integer value" hatası veriyor. Çünkü cinsiyet alanı veritabanında word olarak tanımlı. Benim istediğim ise; ekranda male i seçilince ekranda male yazsın ancak veriyi veritabanına yazarken 1 olarak yazsın. Aynen RadioGroup daki items ve values deperleri gibi düşünebilirsiniz. Bu sütun için belki veritabanındaki alan türünü değiştirerek ve ekranda sadece F ve M yazarak bu sorunu çözebilirim ama ben bunu diğer sütunlarda da kullanmak istediğimden dolayı bunu yapmam lazım. Bu konuda bana yardımcı olabilir misiniz ?

Geliştirme ortamı Delphi XE 3.
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: TMS Grid ComboList Column values problemi

Mesaj gönderen erdogan_ozkaya »

Olabilirmi ?

Kod: Tümünü seç

  if GridListe.Columns[ACol].FieldName = 'Cinsiyet' then
  begin
      if Combobox.ItemIndex=0
     then İşlem //GridListe.Combobox.Items.Add('Male');
      
   if Combobox.ItemIndex=1
   then İşlem //GridListe.Combobox.Items.Add('Male');
  end;

Kod: Tümünü seç

  if GridListe.Columns[ACol].FieldName = 'Cinsiyet' then
  begin
      if GridListe.Combobox.ItemIndex=0
     then İşlem //GridListe.Combobox.Items.Add('Male');
      
   if GridListe.Combobox.ItemIndex=1
   then İşlem //GridListe.Combobox.Items.Add('Male');
  end;
Kullanıcı avatarı
muratmutlu
Üye
Mesajlar: 57
Kayıt: 02 Tem 2005 02:44
Konum: Antalya

Re: TMS Grid ComboList Column values problemi

Mesaj gönderen muratmutlu »

İlgilendiğin için sağol. Verdiğin kodu denememe rağmen aynı hata devam ediyor. Sanırım farklı bir yol denemem gerekiyor. Birazdan field ın GetText ve SetText olaylarında birşeyler yapabilirmiyim diye uğraşacağım. Eğer olursa cevabını buraya yazarım.
Cevapla