[Gtk-sharp-list] [Mono GTK#] Set Combobox Selected by Value
Jay Spencer
jacob.spencer80 at googlemail.com
Thu Sep 19 20:27:28 UTC 2013
I'll give it a go..
I don't think I've done any sorting so should be ok and maybe a quick
lambda expression may get the row index..
I just don't understand why gtk# makes handling list objects and data
binding...
On 19 Sep 2013 20:56, "Moonfire, D." <d.moonfire at mfgames.com> wrote:
> Basically, you want to set comboBox.Active to the index of your item. If
> you happen to know it ahead of time, then go for it. If you can't, then
> just loop through the list store to fine the item. I got tired of doing a
> lot of these and started putting them into a subclasses ComboBox over in my
> MfGames.GtkExt library, but I haven't gotten serious about merging all the
> individual branches to make it that useful.
>
>
> https://github.com/dmoonfire/mfgames-gtkext-cil/blob/master/src/MfGames.GtkExt/EnumComboBox.cs
>
> Below is an example of how I did it. This predates my understanding of
> LINQ, so it's a bit clumsy. Effectively, I wrote a combo box that takes an
> enumeration and displays the values (and returns/sets it via said enum).
>
> ComboBox comboBox;
>
> // Go through the elements and find the string value
> string str = value.ToString();
>
> var store = (ListStore) comboBox.Model;
> int index = 0;
>
> foreach (object[] row in store)
> {
> // Check for match
> if (str == row[0].ToString())
> {
> comboBox.Active = index;
> break;
> }
>
> // Increment the index so we can reference it for the active.
> index++;
> }
>
>
>
>
> On Thu, Sep 19, 2013 at 10:56 AM, jaymarvels <
> jacob.spencer80 at googlemail.com> wrote:
>
>> I don't want to get. I want to set.
>>
>> I'll explain again
>>
>> I have a liststore...2 columns
>>
>> America 10
>> Belgium 16
>> England 139
>> Denmark 166
>>
>> This is then bound to the combobox.
>>
>>
>> cboNations.Clear ();
>> Gtk.CellRendererText text = new CellRendererText
>> ();
>> cboNations.Model = datalist;
>> cboNations.PackStart (text, false);
>> cboNations.AddAttribute (text, "text", 0);
>>
>>
>> I want to set the initial selectedvalue = 139 or something else of my
>> choosing.
>>
>> In winforms this would be done by setting my combobox datasource to a
>> object
>> class..
>>
>> And then doing a combobox selectedvalue = 139;
>>
>>
>>
>> --
>> View this message in context:
>> http://mono.1490590.n4.nabble.com/Mono-GTK-Set-Combobox-Selected-by-Value-tp4660923p4660926.html
>> Sent from the Mono - Gtk# mailing list archive at Nabble.com.
>> _______________________________________________
>> Gtk-sharp-list maillist - Gtk-sharp-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/gtk-sharp-list/attachments/20130919/640de4e7/attachment.html>
More information about the Gtk-sharp-list
mailing list