Gtk # and treeview: how to get the "selected" element?

I can not understand in GTK # how to get the selected tree element. My code example: Here I upload data to tvStock

        Gtk.TreeViewColumn marketCol = new Gtk.TreeViewColumn ();
            marketCol.Title = "Market";

            tvstock.AppendColumn(marketCol);

            Gtk.TreeIter iter = stockListStore.AppendValues ("Dax30");      

            stockListStore.AppendValues(iter, "Adidas");
            stockListStore.AppendValues(iter, "Commerzbank");

            iter = stockListStore.AppendValues ("Cac40");       
            stockListStore.AppendValues(iter, "Bnp Paribas");
            stockListStore.AppendValues(iter, "Veolia");

            iter = stockListStore.AppendValues ("FtseMib");     
            stockListStore.AppendValues(iter, "Fiat");
            stockListStore.AppendValues(iter, "Unicredit");

            tvstock.Model = stockListStore;

            // Create the text cell that will display the artist name
            Gtk.CellRendererText marketNameCell = new Gtk.CellRendererText ();
            // Add the cell to the column
            marketCol.PackStart (marketNameCell, true);     

            // Tell the Cell Renderers which items in the model to display
            marketCol.AddAttribute (marketNameCell, "text", 0);         

In my OnTvstockRowActivated, how can I get the selected row? Thanks

+3
source share
1 answer

You have a string path in args, you can generate it from it.

protected virtual void OnTvstockRowActivated (object o, Gtk.RowActivatedArgs args)
{
    var model = tvstock.Model;
    TreeIter iter;
    model.GetIter (out iter, args.Path);
    var value = model.GetValue (iter, 0);
    Console.WriteLine (value);
}
+5
source

Source: https://habr.com/ru/post/1775699/


All Articles