gtk#: 按列名删除列

gtk#: remove a column by its column name

我在 GTK# 中有一个 TreeView,我想删除特定的列。 我怎样才能做到这一点?

TreeView.RemoveColumn() 听起来不错,但我不知道如何通过名称找到所需的列。

想到类似的东西 TreeView.RemoveColumn(TreeView.FindColumn("address"));

我真的不知道...:'-(

您可以通过这种方式对列进行顺序搜索:

    /// <summary>
    /// Finds a column by its title.
    /// </summary>
    /// <returns>The first <see cref="Gtk.TreeViewColumn"/> with that title.</returns>
    /// <param name="tv">The given <see cref="Gtk.TreeView"/>.</param>
    /// <param name="title">The title to look for.</param>
    static Gtk.TreeViewColumn FindColumnByTitle(Gtk.TreeView tv, string title)
    {
        Gtk.TreeViewColumn toret = null;

        title = title.ToLower();
        foreach(Gtk.TreeViewColumn column in tv.Columns) {
            if ( column.Title.ToLower() == title ) {
                toret = column; 
                break;
            }
        }

        return toret;
    }

希望对您有所帮助。