2

我扩展了 PivotViewer 控件并隐藏了过滤器面板。我有一个带有类别的 TreeView。每个类别下都有子项。当在 treeView 上选择/单击类别时,我想为 PivotViewer 设置过滤器。在 TreeView_MouseLeftButtonUp 中,我正在执行以下操作

 private void myTreeView_MouseLeftButtonUp_1(object sender, MouseButtonEventArgs e)
 {
 var grouping = (IGrouping<string, Web.SDKSampleCode>)myTreeView.SelectedItem;
 pViewer.Filter = string.Format("Category = EQ.{0}", grouping.Key.ToString());
}

我确实看到 FilterChanged 被触发了,但是有两个问题:a)FilterChanged 被触发了两次,b)Filter 也没有被应用。

这一切都适用于 FilterPanel ,但我必须在我的应用程序中隐藏 FilterPanel ,而是使用 TreeView ,以便它可以充当 TOC 以及过滤类别。

任何帮助深表感谢。旁注,我正在使用 SL5 + Ria 服务来获取数据并在 PivotViewer 中显示。

4

1 回答 1

0

找到了!我需要调用 SetViewerState(filterstring)

pViewer.Filter = string.Format("facet=Category&Category=EQ.{0}", grouping.Key.ToString());
                pViewer.SetViewerState(pViewer.Filter); 
于 2013-04-11T22:35:33.923 回答