1

我为 Sharepoint 构建了一个从外部服务检索数据的 Web 部件。我想以与 Sharepoint 的 UI 兼容的方式显示项目(适合其周围环境。)

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

我可以使用 SPGridView 来获得相同的 UI,但是网格控件没有太多的智能方式 - 并且 - 它强制每个字段进入自己的列。我更愿意将每个列表项呈现为具有复杂渲染的单个单元格(例如 StackOverflow 显示其问题列表的方式。)我还希望获得尽可能多的 Sharepoint 标准 UI,例如排序、过滤和分页控件。

所以,首先:这里有没有人写过一个Sharepoint控件来做这个,如果有,你有示例代码可以分享吗?如果不是:我是否忽略了一些有用的控件,无论是 MS 提供的还是在外部库中可用?

谢谢!史蒂夫

4

5 回答 5

2

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

看看内置的 sharepoint web 控件:

Microsoft.SharePoint.WebControls 命名空间

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

于 2008-09-17T03:24:02.190 回答
0

SharePoint 的问题在于有很多不同的方法可以做到这一点。如果您的数据不经常更改并且不是太大,则可能值得考虑将其输入列表以进行显示。如果您拥有 Enterprise 许可证,则可能值得将您的数据放入 BDC 并在那里使用它。您可能必须将对象转换为 xml 或使用带有 XML Webpart 的序列化对象进行显示。这仍然存在使用 XSLT 进行自定义呈现的问题。

于 2008-09-16T20:56:43.230 回答
0

这是一篇很棒的文章,它解释了如何使用 BDC 定义编辑器配置 BDC 与 Web 服务的连接:

使用业务数据目录定义编辑器创建 Web 服务连接 http://msdn.microsoft.com/en-us/library/bb737887.aspx

于 2008-09-16T23:22:37.920 回答
0

执行此 IMO 的最佳方法是制作 Web 部件。作为 Web 部件,UI 将自动呈现为与站点使用的主题相同(除非您覆盖它),并且任何具有管理员权限的人都可以将其放置在任何地方。

于 2008-09-17T03:07:55.693 回答
0

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

于 2009-03-12T11:26:35.137 回答