在 TreelistEx 控件(不是 TreeList)上启用源查询语法



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

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

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

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

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

你可能想看看Retroor/DotPeek等中的TreeListEx,看看它目前是如何工作的。

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

public string ItemID
        {
            get
            {
                return StringUtil.GetString(this.ViewState["ItemID"]);
            }
            set
            {
                Sitecore.Diagnostics.Assert.ArgumentNotNull(value, "value");
                this.ViewState["ItemID"] = value;
            }
        }

最新更新