2010-12-03 2 views
3

フィルタがSilverlightピボットビューアで動作する方法を変更する必要があります。Silverlight Pivot ViewerでORの代わりにANDを使用するようにフィルタを変更します。

キーワード:
Xキーワード
_キーワードのB
XキーワードC
_キーワードdは
_キーワードeはフィルタが生成

「キーワード

私はこのフィルタを持っていますORキーワードc "を入力します。私が必要なのは「キーワードとキーワードc」です。

これは可能ですか?

ご協力いただきましてありがとうございます。

答えて

0

最終行... NO。 あなたはこのコントロールで得たものを手に入れます。 (今のところ)

しかし、アイテムのすべてのキーワードを連結した「ダミー」ファセットを生成することができます。しかし、キーワードがいくつもある場合は、非常に醜いように見えます。

+0

ありがとうございました。おそらく解決策ではないので、100以上のキーワードを得ました。 – thomasmartinsen

+0

申し訳ありません。今はできません。しかし、ピボットv2で可能となるのは、銀色のファイアスターで発表されている。 – basarat

2

Poker Villainが言っていることはまあまあですが、それはPivotViewerがあなたのための解決策ではないことを意味するものではありません。私は、私が取り組んできたシステムで同様の問題を抱え、PivotViewerをうまくプレイするのに適した方法を見つけることができました。これはデータの再取得に依存するため、JITコレクションでのみ機能します。

私が取り組んできたシステムは、事件管理システムです。ケースに関連するデータの多くは相互に排他的であり、PivotViewerのモデルにも適合しますが、ケースに「タグ」を追加する機能もあります。ユーザーが提案するように、しばしばユーザーは組み合わせロジックを望みます。問題を解決するために私がしたことがここにあります。

まず、Silverlight Spyのコピーが必要です。 SSpyのエクスプローラタブで、ビジュアルツリーの右下をドリルダウンして、PivotViewerの要点を見ることができます。ここでは、

alt text

あなたは、私が「PART_FacetPane」という名前のコントロールに右ドリルダウンしてきた見ることができます...鉱山がどのように見えるかです。下にはCustomAccordianItemの束があります。本質的には、Pivo​​tViewerをサブクラス化する必要があります(これがPivotViewerExです)。OnApplyTemplateメソッドをオーバーライドする必要があります。

ここでGetTemplateChildなどの手段を使用してVisualTreeをナビゲートし、別のコントロールを追加することができます。私のプロジェクトでは、以前構築した簡単なタグクラウドコントロールを使用しました。

タグクラウドコントロールのイベントを処理し、クエリ文字列の値をURLに追加して、CXMLを構築し、これらのパラメータに基づいてデータをフィルタリングします。データを「生きている」ようにフィルタリングできるほど流動的ではありませんが、今のところ解決策です。

状況によっては、ランダムに生成された最終的なクエリーストリング値をCXML URLに追加して、データのキャッシュコピーを取得しないようにする必要があるかもしれません。

HTH、Stimul8d。

+0

すばらしい答え - 私はそれをスピンして、あなたに戻ってきます – thomasmartinsen

関連する問題