Delphi Can

Orjinalini görmek için tıklayınız: cxGrid de ComboBox kullanımı
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link

Kolay gelsin, Şöyle bir sorunum var yardım rica ediyorum;

CxGrid'de hücreyi ComboBox olarak seçtim ve içine bazı değerleri items menüsünden girdim (1-2-3-4 gibi ve bunlar çoktan seçmeli ve sabit) bu Combobox'ın içinde mesela üçüncü sıradakileri nasıl seçtirebilirim.

Tam olarak yapmak istediğim şu, tabloda 5 adet alan var ve hepsinde üçüncü sıradaki (mesela 4) olan veriyi seçtirmek istiyorum. sonuçta kullanıcı 5 alana da aynı şeyi tek tek yazmak ile uğraşmasın, bunu bir buton ardımı ile yapsın mesela.

TcxComboBoxProperties(cxGrid1DBTableView1forum_RD.properties).Items.Text:='4'; yapıyorum ama bu oraya, combobox a items olarak yazdıklarımı siliyor ve sadece 4 bırakıyor ve onu da seçmiyor. illa hücreye tıklamam ve seçmem gerekyior.
MErhaba

Sanırım istediğiniz kod bu:
TcxComboBoxProperties(cxGrid1DBTableView1KASA_ADI.Properties).Items.IndexOf(2);

AYrıca grid celle yerleştirdiğiniz comboların içi değişken bilgiler yani DB tablodan almak istiyorsanız: aşağıdaki kodları kullanabilirsiniz.


 ibsql.SQL.Text := 'Select * from TABLOM';
 ibsql.Open;
 ibsql.First;
 while not(ibsql.Eof) do
 begin
   TcxComboBoxProperties(cxGrid1DBTableView1KASA_ADI.Properties).Items.Add(ibsql.FieldByName('ALANIM').AsString);

   ibsql.Next;
 end;

 ibsql.Close;
(16-11-2020, Saat: 19:39)mcuyan Adlı Kullanıcıdan Alıntı: [ -> ]MErhaba

Sanırım istediğiniz kod bu:
TcxComboBoxProperties(cxGrid1DBTableView1KASA_ADI.Properties).Items.IndexOf(2);

AYrıca grid celle yerleştirdiğiniz comboların içi değişken bilgiler yani DB tablodan almak istiyorsanız: aşağıdaki kodları kullanabilirsiniz.


 ibsql.SQL.Text := 'Select * from TABLOM';
 ibsql.Open;
 ibsql.First;
 while not(ibsql.Eof) do
 begin
   TcxComboBoxProperties(cxGrid1DBTableView1KASA_ADI.Properties).Items.Add(ibsql.FieldByName('ALANIM').AsString);

   ibsql.Next;
 end;

 ibsql.Close;



Üstadım öncellikle teşekkür ederim,

Yazdığın kodu denedim aldığım hata ;
[Warning] xx_xxx_ekrani.pas(494): Variable 'stringlist' might not have been initialized

[Error] xx_xxx_ekrani.pas(526): Incompatible types: 'String' and 'Integer'

[Fatal Error] xx.dpr(8): Could not compile used unit 'xx_xx_ekrani.pas'

gözden kaçırdığım birşey mi var anlamadım.
Haklısın hocam orda bi yanlışlık yapmışım. Normalde Combobox'ın Itemindex properties i  ile istediğiniz comboya konumlandırırsınız Comboboxın textini.. Fakat burada CXGride gömülü olduu için farklı bir yöntemi varmış. Aşağıda yazıyorum. Test ettim çalışıyor.


cxGrid1DBTableView1KASA_ADI.EditValue :=TcxComboBoxProperties(cxGrid1DBTableView1KASA_ADI.Properties).Items[3];
// cxGrid1DBTableView1KASA_ADI => CXGrid deki alan adınız
//ITEMS[3] => Kaçıncı ITem'a odaklanacaksanız o.
(17-11-2020, Saat: 13:08)mcuyan Adlı Kullanıcıdan Alıntı: [ -> ]Haklısın hocam orda bi yanlışlık yapmışım. Normalde Combobox'ın Itemindex properties i  ile istediğiniz comboya konumlandırırsınız Comboboxın textini.. Fakat burada CXGride gömülü olduu için farklı bir yöntemi varmış. Aşağıda yazıyorum. Test ettim çalışıyor.


cxGrid1DBTableView1KASA_ADI.EditValue :=TcxComboBoxProperties(cxGrid1DBTableView1KASA_ADI.Properties).Items[3];
// cxGrid1DBTableView1KASA_ADI => CXGrid deki alan adınız
//ITEMS[3] => Kaçıncı ITem'a odaklanacaksanız o.

Dostum çok sağol, işe yaradı. teşekkür ederim.