Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint:使用“Sharepoint”显示非Sharepoint内容列表的最佳方式;“兼容”;用户界面?_Sharepoint_Xslt_List_Web Parts - Fatal编程技术网

Sharepoint:使用“Sharepoint”显示非Sharepoint内容列表的最佳方式;“兼容”;用户界面?

Sharepoint:使用“Sharepoint”显示非Sharepoint内容列表的最佳方式;“兼容”;用户界面?,sharepoint,xslt,list,web-parts,Sharepoint,Xslt,List,Web Parts,我已经为Sharepoint构建了一个web部件,用于从外部服务检索数据。我希望以与Sharepoint的UI兼容的方式显示项目(与周围环境相适应) 我知道“DataFormWebPart”,但无法使其正常工作。它需要一个有效的数据源,而我无法根据web服务调用的结果构建一个数据源。。。部分问题是我的web服务包装器没有公开XML返回信息,而是有一堆反序列化对象。似乎没有一种简单的方法可以将实际对象转换为数据源,或者从对象数据填充“通用”数据源 我可以使用SPGridView来获得相同的UI,但

我已经为Sharepoint构建了一个web部件,用于从外部服务检索数据。我希望以与Sharepoint的UI兼容的方式显示项目(与周围环境相适应)

我知道“DataFormWebPart”,但无法使其正常工作。它需要一个有效的数据源,而我无法根据web服务调用的结果构建一个数据源。。。部分问题是我的web服务包装器没有公开XML返回信息,而是有一堆反序列化对象。似乎没有一种简单的方法可以将实际对象转换为数据源,或者从对象数据填充“通用”数据源

我可以使用SPGridView来获得相同的UI,但是网格控件没有smarts那样的功能,它强制每个字段进入自己的列。我更喜欢将每个列表项呈现为具有复杂呈现的单个单元格(例如StackOverflow显示其问题列表的方式)。我还希望获得尽可能多的Sharepoint标准UI,例如排序、筛选和分页控件

首先,这里有没有人编写了一个Sharepoint控件来实现这一点,如果有,您有没有示例代码可以共享?如果没有:我是否忽略了一些有用的控件,不管MS是在外部库中提供的还是可用的

谢谢!
Steve

SharePoint的问题在于有很多不同的方法可以做到这一点。如果您的数据没有太频繁地更改,也没有太大,那么可以考虑将其输入列表中显示。 如果您拥有企业许可证,将您的数据输入BDC并在那里使用可能是值得的。
您可能必须将对象转换为xml,或者将序列化对象与xml Web部件一起使用以显示。这仍然存在使用XSLT进行自定义呈现的问题。

这是一篇很好的文章,介绍了如何使用BDC定义编辑器配置到web服务的BDC连接:

使用业务数据目录定义编辑器创建Web服务连接
最好的方法是制作一个Web部件。作为Web部件,UI将自动呈现为与站点使用的主题相同(除非您覆盖它),并且任何具有管理员权限的人都可以将其放置在任何位置

Sharepoint:显示列表的最佳方式 使用 “兼容”用户界面

查看内置的sharepoint web控件:


它包含sharepoint中使用的所有控件。我想告诉您更多,但文档非常详尽。

您可以创建自定义web部件并使用SPGridView。你说你不喜欢它,因为它强迫每个字段进入自己的列,但事实并非如此。您可以为每个列创建一个模板(ITemplate),并完全自定义其中显示的内容,就像使用普通ASP.NETGridView一样。使用这种方法,我在列表项标题旁边添加了一些“新”图片,就像SharePoint本身一样。

谢谢Nat。外部数据很大(外部搜索结果),因此无法将其保留为新列表。我们是一个SharePoint插件,所以我不能保证BDC在所有安装中都可用。我想我对你的建议有点不走运,但我很感激你的回答!不幸的是,我需要一些不同的东西:我正在构建一个web部件,它需要显示web服务调用的实时结果——它不是常规搜索结果的一部分。谢谢,不过,这是一个非常有用的链接,我正在做的其他工作,其中涉及修改搜索页面!我很感激你的回答。但这是我已经采取的入门步骤。我的问题是更进一步;我有一个现有的web部件,需要向其中添加一个列表。似乎没有简单的方法来创建我所需要的那种web部件-但是我会深入到你的网站&看看!