この記事で TreeList を使用してカスタム フィールドを作成する方法を参照して、TreeListEx フィールドに基づいてカスタム フィールドを作成しようとしています。
http://sdn.sitecore.net/Scrapbook/Custom%20TreeList%20that%20supports%20query.aspx
基本的に、ソース フィールドでクエリ構文を有効にする必要があります。とにかくこれを行うことはありますか?
この記事で TreeList を使用してカスタム フィールドを作成する方法を参照して、TreeListEx フィールドに基づいてカスタム フィールドを作成しようとしています。
http://sdn.sitecore.net/Scrapbook/Custom%20TreeList%20that%20supports%20query.aspx
基本的に、ソース フィールドでクエリ構文を有効にする必要があります。とにかくこれを行うことはありますか?
LuceneTreeListExが開発の時間を節約できるかどうかはわかりません。しかし、あなたの質問に答えるには、その例のように、TreeListExコントロールから継承するクラスを作成し、Sourceプロパティをオーバーライドする場合にすぎません。
基本的に、を削除してメソッドquery:
に渡します。database.SelectItems()
リフレクター/DotPeekなどのTreeListExを調べて、現在どのように機能しているかを確認することをお勧めします。
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;
}
}