【发布时间】:2011-06-14 18:41:52
【问题描述】:
我正在尝试创建一个 JIT pivotviewer,但我有点挣扎。有人可以消除我对如何动态创建 cxml 的困惑吗?另外应该如何设置信息以供我请求?我目前将它放在我的数据库中,我需要创建一个 xml 文档以供它加载还是可以直接从数据库中提取它?
【问题讨论】:
标签: silverlight collections pivotviewer
我正在尝试创建一个 JIT pivotviewer,但我有点挣扎。有人可以消除我对如何动态创建 cxml 的困惑吗?另外应该如何设置信息以供我请求?我目前将它放在我的数据库中,我需要创建一个 xml 文档以供它加载还是可以直接从数据库中提取它?
【问题讨论】:
标签: silverlight collections pivotviewer
要构建 JIT PivotViewer 集合,您首先要下载 Microsoft 构建的 JIT example。
查看解决方案,开始时最重要的是CollectionFactories 项目。要使用数据库中的数据创建集合,您需要创建自定义 CollectionFactory。
您的自定义 collectionfactory 扩展了 CollectionFactoryBase 类:
class MyCustomCollection : CollectionFactoryBase
该类需要实现MakeCollection方法,该方法所要做的就是创建一个Collection类的实例并将CollectionItems添加到其中。
public override PivotServerTools.Collection MakeCollection(CollectionRequestContext context) {
return MakeCollection();
}
private static PivotServerTools.Collection MakeCollection() {
PivotServerTools.Collection collection = new PivotServerTools.Collection();
collection.Name = "MyImages";
ItemImage[] fileList = ImageListFromDatabase();
foreach (ItemImage image in fileList) {
collection.AddItem(image.Name, image.ImageUrl.ToString(), image.Description, image, null);
}
return collection;
}
现在要使用此集合并查看它的实际效果,您需要在解决方案中为 PivotViewer Silverlight 应用程序 (PivotServer) 提供 name of the collection:
default.aspx
<param name="initParams" value="cxml=MyImages.cxml" />
【讨论】: