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.