Combo box sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Combo box sorunu
Arkadaşlar üstadlar benim şu şekilde bir problemim var. Combo boxlarda 1 satır başına 1 değil 2 değer saklamak istiyorum birinci değer BWM MERCEDES vs gibi kullanıcıya gösterilecek olan bir değer olacak. Bu kısmı ADD() fonksiyonu yardımıyla Items a atarak yapabiliyorum. Ama benim için önemli olan BWM nin ID si örneğin 1 diyelim MERCEDES sinki 13 bu ID numaralarınıda Combobox da saklamak istiyorum Mercedes seçildiğinde benim 13 ID sine BMW seçildiğinde de 1 ID numarasına ulaşmam lazım.
Bunu HTML de ki comboboxda basit şekilde elde edebiliyoruz.
Name = Mercedes; Value = 13
Name = BMW ; Value = 1
gibi bir şekilde hem valuyu hem ismi saklaya biliyorsunuz. Yeri geldiğinde isimle yeri geldiğinde de değerle işlem yapabiliyorsunuz.
Bunu HTML de ki comboboxda basit şekilde elde edebiliyoruz.
Name = Mercedes; Value = 13
Name = BMW ; Value = 1
gibi bir şekilde hem valuyu hem ismi saklaya biliyorsunuz. Yeri geldiğinde isimle yeri geldiğinde de değerle işlem yapabiliyorsunuz.
Merhaba,
önce veritabanında bir tablo hazırla. bu tabloda 2 alan olsun.ilk alana arabano, diğer alanada arabamarkalarını gir.sonra normal combobox yerine lookupcombobox kullan. lookupcombobox kullanarak comboboxta itemsa değerleri kendin girmezsin veritabanındaki bir alanın değerlerini alabilirsin. mesela lookupcomboboxtan mercedesi sectiğinde veritabanındaki tablodaki aktif kayıt mercedes olacağından,bu kayıtta ait numarayı kullanabilirsin
kolay gelsin
önce veritabanında bir tablo hazırla. bu tabloda 2 alan olsun.ilk alana arabano, diğer alanada arabamarkalarını gir.sonra normal combobox yerine lookupcombobox kullan. lookupcombobox kullanarak comboboxta itemsa değerleri kendin girmezsin veritabanındaki bir alanın değerlerini alabilirsin. mesela lookupcomboboxtan mercedesi sectiğinde veritabanındaki tablodaki aktif kayıt mercedes olacağından,bu kayıtta ait numarayı kullanabilirsin
kolay gelsin
+100. bence en profosyonel yöntem. nitekim ben de aynı işlemleri onlarca kez kullandım.Merhaba,
önce veritabanında bir tablo hazırla. bu tabloda 2 alan olsun.ilk alana arabano, diğer alanada arabamarkalarını gir.sonra normal combobox yerine lookupcombobox kullan. lookupcombobox kullanarak comboboxta itemsa değerleri kendin girmezsin veritabanındaki bir alanın değerlerini alabilirsin. mesela lookupcomboboxtan mercedesi sectiğinde veritabanındaki tablodaki aktif kayıt mercedes olacağından,bu kayıtta ait numarayı kullanabilirsin
kolay gelsin
Kod: Tümünü seç
dblookupcombobox1.keyvalue
s.a.
sana iki yol önereceğim.
1. sanırım @sadettinpolat arkadaşımızın bu konu ile ilgili bir makalesi vardı. onu oku.
2. @nitrokonat arkadaşımızın dediği gibi dblookupcombobox kullan.
kolay gelsin.
sana iki yol önereceğim.
1. sanırım @sadettinpolat arkadaşımızın bu konu ile ilgili bir makalesi vardı. onu oku.
2. @nitrokonat arkadaşımızın dediği gibi dblookupcombobox kullan.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
mrb foruma bir combobox birde label ekle sonr bu kodları yaz:
başarılar kolay gelsin
Kod: Tümünü seç
............
var
Form1: TForm1;
Liste:TStringlist;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Liste:=TStringList.create;
Liste.add('1-BMW');
Liste.add('13-Mercedes');
combobox1.items.add(copy(Liste[0],pos('-',Liste[0])+1,length(Liste[0])));
combobox1.items.add(copy(Liste[1],pos('-',Liste[1])+1,length(Liste[1])));
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
label1.caption:=copy(Liste[combobox1.itemindex],0,pos('-',liste[combobox1.itemindex])-1)
end;
Sanırsam biraz erken söyledik sorunu halettik diye.
DBLookupComboBox kullanıdığımızda Text bölümü read only olduğundan herhangi bir veri girisine sahib değillim TComboBox da olduğu gibi. Ön tanımlı olarak DBLookupComboBox da nasıl bir itemı seçe biliriz. Mesela yukarıda verdiğim örnekte olduğu gibi BMW 1. sırada 13. sırada Mercedes geliyor. Ben Mercedesin Text bölümünde ön tanımlı olarak gelmesini istiyorum.

degerlerini nerden aliyorsun? herhangi bir databaseden mi?, kullanicidan mi?stnonstop yazdı:Sanırsam biraz erken söyledik sorunu halettik diye.DBLookupComboBox kullanıdığımızda Text bölümü read only olduğundan herhangi bir veri girisine sahib değillim TComboBox da olduğu gibi. Ön tanımlı olarak DBLookupComboBox da nasıl bir itemı seçe biliriz. Mesela yukarıda verdiğim örnekte olduğu gibi BMW 1. sırada 13. sırada Mercedes geliyor. Ben Mercedesin Text bölümünde ön tanımlı olarak gelmesini istiyorum.
Olmazsa TComboboxdan yeni bir bilesen türet, Item kismini degistir.
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Comboboxta string değerler gözükürken kullanıcının seçimine göre seçilen stringe ait ID değerine ulaşmak isteriz. Bunun için genelde dblookupcombobox kullanılır. Standart combobox ile bu işlemi halletmek isteyen kullanıcılar bu yöntemi kullanabilirler....
Degerleri combobox a eklemek icin :
Combobox1.items.AddObject('Rize', TObject(53));
Combobox1.items.AddObject('Ankara', TObject(6));
Combobox1.items.AddObject('İstanbul', TObject(34));
Seçilen değerin ID alanına ulaşmak için de :
Deger := Integer(Combobox1.items.Objects[Combobox1.ItemIndex]);