在GTK#TreeStore中计算父项的最佳方法

时间:2016-03-10 11:35:37

标签: c# gtk#

我是GTK的新手,我正在学习使用TreeStore。我正在使用C#。

我想计算TreeStore中的父项,这样当我追加项目时,我可以将标题与适当的数字连接起来。 (例如"产品0","产品1"等等

通过迭代整个树并计算项目,我找到了一种方法来做我想做的事情。像这样:

trs_inspectionStore.GetIterFirst (out iter);    // Go to first item in store.
    int n = 0;
    while (trs_inspectionStore.IterIsValid (iter))  // Loop while the iter is valid
    {
        n++;
        trs_inspectionStore.IterNext (ref iter);    // Next item!
    }
    Console.WriteLine (n);

我想知道是否有更好的方法。我希望找到一些Count属性或类似的东西。有任何想法吗?或者我已经使用了最好的方法?

1 个答案:

答案 0 :(得分:0)

我自己找到了这个问题的答案:

要计算TreeStore中顶级行的数量,请使用模型的NChildren()方法。这种方法通常用于计算一行中孩子的数量,然后将其传递给一个“孩子”。对象作为参数。但是,如果您在没有Iter(零参数)的情况下调用它,则返回顶级行数的计数:

int count = Model.IterNChildren();