1

この記事で TreeList を使用してカスタム フィールドを作成する方法を参照して、TreeListEx フィールドに基づいてカスタム フィールドを作成しようとしています。

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

OK - それで、これを解決しました。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 に答える