【问题标题】:GTK#: Tree View with Filter AND SortingGTK#:带有过滤和排序的树视图
【发布时间】:2019-04-09 01:45:03
【问题描述】:

我有一个可以通过TreeModelFilter 过滤的树视图对象。 只要我用tree.Model = filter; 设置过滤器, 排序不再起作用。

有没有办法让过滤器工作并能够通过单击列标题进行排序?

总之,我想要一个filterable, searchable, sortable, multi-selection Tree View Control 来查看数据库中的结果。

【问题讨论】:

    标签: mono monodevelop gtk#


    【解决方案1】:

    在阅读 Gtk+ 文档之后,似乎树视图可以同时是 filteredsortable

    但是您将无法使用这些类中的任何一个。我敢打赌,您必须创建自己的模型来实现 sorting 的接口并提供过滤。

    Gtk# 非常强大。不幸的是,它同时也非常复杂。

    【讨论】:

      【解决方案2】:

      要对可过滤模型进行排序,您需要用 Gtk.TreeModelSort 包装您的过滤模型。

          sorted_model = Gtk.TreeModelSort(model=self.filter)
      

      如果不想使用默认的排序方式,可以设置自定义排序功能。

          sorted_model.set_sort_func(0, self.sort_tree, None)
      

      稍后您可以将树视图设置为使用这种排序模型。

          self.tree_view = Gtk.TreeView(model=sorted_model)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多