Hello,

Here are two functions, the first of them populates a ComboBox using as source an ArrayList (two columns, data and text displayed) to build a ListStore that is used as model on the ComboBox.

The second function is an example that populates three ComboBoxes that display a date.

private void ComboBoxPopulate(ComboBox comboBox, ArrayList alValuesList )
        {
                comboBox.Clear();
                // types of ListStore columns are taken from alValuesList
ListStore listStore = new Gtk.ListStore( ((object[])alValuesList[0])[0].GetType(), ((object[])alValuesList[0])[1].GetType());
                comboBox.Model = listStore;
                CellRendererText text = new CellRendererText();
                comboBox.PackStart(text, false);
                comboBox.AddAttribute(text, "text", 1);
                
                foreach (object[] oaValue in alValuesList)
                {
                        listStore.AppendValues(oaValue[0], oaValue[1]);
                }

                TreeIter iter;
                if (listStore.GetIterFirst (out iter))
                {
                        comboBox.SetActiveIter (iter);
                }
                
                
        }
        
private void PopulateComboDayMonthYear(ComboBox cbDay, ComboBox cbMonth, ComboBox cbYear)
        {
                ArrayList alDays = new ArrayList();
                
                for (int i = 1; i<32; i++)
                {
                        object[] values = {i, i.ToString() };
                        alDays.Add(values);
                }
                
                ArrayList alMonths = new ArrayList();
                
                for (int i = 1; i<13; i++)
                {
object[] values = {i, System.Globalization.DateTimeFormatInfo.CurrentInfo.GetMonthName(i) };
                        alMonths.Add(values);
                }
                
                ArrayList alYears = new ArrayList();
                
                for (int i = DateTime.Now.Year - 95; i < DateTime.Now.Year - 4; 
i++)
                {
                        object[] values = {i, i.ToString() };
                        alYears.Add(values);
                }
                                
                ComboBoxPopulate(cbDay, alDays);
                ComboBoxPopulate(cbMonth, alMonths);
                ComboBoxPopulate(cbYear, alYears);
                
        }


HTH :-)

Mariano.

Evgeny Pirogov wrote:
Hello. Happy New Year!

I need simple example for Gtk.ComboBox usage as DropDownList (value only set from list, no write).

Thanks.



--
Mariano Benedettini
Ad Network SA
[EMAIL PROTECTED]

_______________________________________________
Gtk-sharp-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list

Reply via email to