2011-06-14 73 views
0

我想创建一个JIT枢​​轴查看器,我一直有点挣扎。有人能够清楚我对cxml是如何动态创建的混淆吗?还应该如何为我设置信息来请求它?我现在有它坐在我的数据库内,我需要创建一个XML文档加载或从数据库直接拉它?创建枢轴查看器集合

回答

0

用于构建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" /> 
+0

绝对有帮助,谢谢。但现在我遇到了一个问题,我的JIT不会将图像作为图像加载,它们显示为查询的一个方面,只是显示标准的绿色框。我已经检查过这个项目,但是我无法真正找到如何创建cxml文件来显示图像。 – Rob 2011-06-24 00:19:45

+0

我不追随你,也许你可以发布截图?你看到的数据透视图集合,而不是图像,你有每个图像的框? – texmex5 2011-06-24 08:38:20

+0

它显示了我所假设的是当您不提供图像时的默认背景。 [link] https://skydrive.live.com/?wa=wsignin1.0&cid=637c712fa84d9985&sc=photos#!/?cid=637C712FA84D9985&id=637C712FA84D9985!106&sc=photos!cid=637C712FA84D9985&id=637C712FA84D9985!107&sc=photos and https: //skydrive.live.com/?wa=wsignin1.0&cid=637c712fa84d9985&sc=photos#!/?cid=637C712FA84D9985&id=637C712FA84D9985!106&sc=photos是我描述内容的两个图像 – Rob 2011-06-24 17:38:58