1

我正在尝试基于 TreeListEx 字段创建自定义字段,参考本文中如何使用 TreeList 创建自定义字段:

http://sdn.sitecore.net/Scrapbook/Custom%20TreeList%20that%20supports%20query.aspx

基本上我需要能够在源字段中启用查询语法。有没有办法做到这一点?

4

2 回答 2

1

不确定LuceneTreeListEx是否会为您节省开发时间。但是要回答您的问题,应该只是创建一个从 TreeListEx 控件继承的类并覆盖该示例中的 Source 属性的情况。

本质上,您正在剥离query:并将其传递给database.SelectItems()方法。

您可能想查看反射器/DotPeek 等中的 TreeListEx 以了解其当前工作方式。

于 2012-09-28T08:21:32.490 回答
1

好的 - 所以,解决了这个问题。ItemID 在 treelistex 类中不能作为属性使用,但它可以作为值使用,并且该值在视图状态中。因此,您真正需要做的就是在 itemID 属性中公开视图状态,并像在树列表控件中一样使用它。

public string ItemID
        {
            get
            {
                return StringUtil.GetString(this.ViewState["ItemID"]);
            }
            set
            {
                Sitecore.Diagnostics.Assert.ArgumentNotNull(value, "value");
                this.ViewState["ItemID"] = value;
            }
        }
于 2012-09-28T22:19:51.997 回答