That should work quite well...especially as the list is short...

Further in my project I deserialize a xml file into a list object class and
will need to populate a combobox as well...again no problem with winforms...

Could I do a foreach loop and populate the list store like that...

So from the class into the listview via a foreach loop ?
On 17 Sep 2013 18:12, "Ганьков Андрей" <[email protected]> wrote:

>  17.09.2013 19:40, jaymarvels пишет:
>
> Coming from a winform background I could do this without an issue..in gtk# I
> am running into all kinds of issues.
>
> I have something like this:
>
>                       var dataSource = new List<Positions>();
>                       dataSource.Add(new Positions() { positionName = 
> "Goalkeeper",
> positionMask = 1 });
>                       dataSource.Add(new Positions() { positionName = 
> "Sweeper", positionMask =
> 2 });
>                       dataSource.Add(new Positions() { positionName = 
> "Defender", positionMask
> = 4 });
>                       dataSource.Add(new Positions() { positionName = 
> "Defensive Mid",
> positionMask = 8 });
>                       dataSource.Add(new Positions() { positionName = 
> "Midfielder",
> positionMask = 16 });
>                       dataSource.Add(new Positions() { positionName = 
> "Attacking Mid",
> positionMask = 32 });
>                       dataSource.Add(new Positions() { positionName = 
> "Striker", positionMask =
> 64 });
>                       //Setup data binding for drop down
> this.cboPlayerPosition.datasource = dataSource;
>                       this.cboPlayerPosition.DisplayMember = "positionName";
>                       this.cboPlayerPosition.ValueMember = "positionMask";
>
> This failed as GTK# doesnt have .datasource ...
>
> How can I accomplish what I am trying..
>
> I have googled for hours trying to see how to bind a object list to a
> combobox with no luck.
>
>  You need use Gtk.ListStore.
>
> If i understand your task, you can do it like this:
>
> Gtk.ListStore dataSource = new ListStore (typeof (string), typeof (int));
> dataSource.AppendValues( "Goalkeeper", 1);
> dataSource.AppendValues ("Sweeper", 2);
> dataSource.AppendValues ( "Defender", 4 );
> dataSource.AppendValues("Defensive Mid", 8);
> .......
> //If you want display only name column, you need setup combobox
> combo.Clear ();
> Gtk.CellRendererText text = new Gtk.CellRendererText ();
> combo.Model = dataSource;
> combo.PackStart (text, false);
> combo.AddAttribute (text, "text", 0);
>
> //You can get active item value like this:
> TreeIter iter;
> if(combo.GetActiveIter(out iter))
>     positionMask = (int) combo.Model.GetValue(iter,1);
>
> I think if you want use "Positions" class for store data, also you can
> make it by using "SetCellDataFunc" . See example here
> http://www.mono-project.com/GtkSharp_TreeView_Tutorial
>
> --
> Andrey GankovMail:[email protected]
> ICQ: 230-684-976Jabber:[email protected]
>
>
> _______________________________________________
> Gtk-sharp-list maillist  -  [email protected]
> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
>
>
_______________________________________________
Gtk-sharp-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list

Reply via email to