设为首页 收藏本站
查看: 1560|回复: 0

[经验分享] SharePoint:DataView如何绑定Web Service返回的主从表数据集

[复制链接]

尚未签到

发表于 2017-5-24 11:41:17 | 显示全部楼层 |阅读模式
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>By Ben


Working With the Data View Web Part
Microsoft® Office FrontPage® 2003


Author: Ben
MSN: benjamine65@hotmail.com



  • 如何使用DataView调用XML Web Services
  • 如何显示父子从表


l 设计目标:

Data View绑定Web Service返回的数据集, 显示父表, 同时以父表当前记录关联字估为条件, 嵌套显示子表
l 数据结构(以下例子以Sql Server 2000Northwind示例数据库作例子):

l 样例Web Service:
如有: http://localhost/AspNetSample/Service1.asmx Web Services, 其中关键代码如:
[WebMethod]
public DataSet GetDataSource(string TableName)
{
DataSet ds = new DataSet("DataSetTables");
DataTable dt = new DataTable();
DataTable dtCus = new DataTable();

//sql
dt = SqlHelper.ExecuteDataset(ConnectionString, CommandType.Text, "select top 100 * from Orders").Tables[0];
dt.TableName = TableName;
dtCus = SqlHelper.ExecuteDataset(ConnectionString, CommandType.Text, "select top 100 * from Customers").Tables[0];
dtCus.TableName = "Customers";

ds.Tables.Add(dt.Copy());
ds.Tables.Add(dtCus.Copy());

return ds;
}


l 利用FrontPage 2003添加Data Source Catalog:
1. 打开Task Pane. 下拉菜单View -> Task PaneShortcut key Ctrl+F1 , Task Pane选择Data Source Catalog, 展开XML Web Services并点击Add to Catalog…
2. 在弹出的Data Source Properties窗口, General页内容, 给当前数据源起个名字, 例如: GetDataSource; Source页内容, Service Description Locationhttp://localhost/AspNetSample/Service1.asmx?WSDL, OK后就Connect Now! 如果Web Services设置正确, 则在Connection Info里会显示相关的Service Name, Operation , 我们现在在OperationGetDataSource, 设置一下GetDataSource的接口参数; 最后要设置的是Login页的Login方法. 完成后就OK, XML Web Services下就会出现GetDataSource的图标
3. GetDataSource拖到页面的一个Web Part Zone
4. 自定义Data View.
4.1. 插入一列, 并将光标置于新增列的单元格内. 再转换到Data ViewData View Details面板, 并选中Customers节点, Insert Subview

4.2. 设置关联关系. 此时Customers的记录会在显示Orders记录的Data View的那个新增的列内全部显示出来, 还未会根据CustomerID显示关联的Customer记录
所以现在要通过修改Data View XSL来实现关联过滤.
分析:
点选Data View GetDataSource, 切换到Code 视图, 找到关键的 XSL 语句, :
由此可以看出子表Customers是定义成一个xsl:template name=”dvt_2” , 我可以将CustomerID作为xsl:param传递到xsl:template里作为过滤条件
1) 添加xsl:param
修改<call-template name="dvt_2"></call-template>为如下:
<call-template name="dvt_2"></call-template>
<xsl:></xsl:> with-param name="CustomerID" select="CustomerID"/>

查找dvt_2 template定义:
<template name="dvt_2"></template>
<variable name="StyleName">Table</variable>
添加xsl:param:
<template name="dvt_2"></template>

<variable name="StyleName">Table</variable>
2) 应用xsl:param并实现过滤
<template name="dvt_2"></template>

<variable name="StyleName">Table</variable>
<variable name="Rows" select="../Customers"></variable>
修改成:
<template name="dvt_2"></template>

<variable name="StyleName">Table</variable>
<variable name="Rows" select="../Customers[normalize-space(CustomerID) = $CustomerID]"></variable>

现在全部步骤完成了, 可以在IE浏览效果:




  Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=132716

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-380479-1-1.html 上篇帖子: 客户端出错:无法在数据表视图中显示该列表: 没有安装与 Windows SharePoint Services 兼容的数据表组件 下篇帖子: sharepoint 服务器错误: http://go.microsoft.com/fwlink?LinkID=96177
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表