WalkThrough SharePoint WebPart 入门指南 五

Slides:



Advertisements
Similar presentations
2014 年 10 月. 学生入学考试 15 位编号 号工号 ****** 北科 MBA 网址: 如: 初试密码为身份证 后六位,登录成功 后可进行修改。
Advertisements

急性腹痛 急性疼痛. 急性疼痛 — 孙树杰、沈洪、 刘保池 (1)(1)(1)(1) 概 述 (2)(2)(2)(2) 重症急性腹痛的临床特点 (3)(3)(3)(3) 急性腹痛的分类及诊治 主要教学内容.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
项目2 字符格式和段落编排 2017年3月7日6时54分.
新建本科院校 应用型人才培养若干问题探析 张德江.
中国特色社会主义政党制度 主讲:西南大学 李强 2011年12月28日.
在线考试系统手机端使用说明 技术支持:南京庞培软件科技有限公司.
回顾与展望:高州经验与广东医改 省卫生计生委、省医改办 黄 飞 2015年7月3日.
欢迎南京市政治学科的教研同仁 光临指导.
Oracle数据库 Oracle 子程序.
類別與物件 Class & Object.
新华上海贵金属交易中心 中国银行个人客户网上签约流程.
在PHP和MYSQL中实现完美的中文显示
UI 软件 设计 网页基本元素设计(二).
WalkThrough SharePoint WebPart 入门指南 二
WalkThrough SharePoint WebPart 入门指南
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
SVN服务器的搭建(Windows) 柳峰
SQL Injection.
走进编程 程序的顺序结构(二).
辅导课程六.
第15章 豐富控制項.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
2.5.1 单选控件 单选控件可以为用户选择某一个选项,单选控件常用属性如下所示。
段磊 王慧锋 TEL: qq群: 数据库系统原理课程设计 实验环节2 段磊 王慧锋 TEL: qq群:
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
Hub Web System 主要功能: 1.查询库存(Query Current Storage) 2.创建PL(Create PL) 3.查询、打印PL单(Query & Print PL) 4.查询允交量、在途量 5.修改用户的基本信息(Update Password) 6.查询GR(Query.
如何下载英飞凌单片机相关资料? 中英文用户手册、数据手册、应用笔记等.
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
组合模式.
WalkThrough SharePoint WebPart 入门指南 四
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
YMSM D-PACK 安装手册 作成者:D-PACK维护组(YMSLx) 作成日:
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
使用矩阵表示 最小生成树算法.
WalkThrough SharePoint WebPart 入门指南 三
编程作业3:网页正文抽取 (10分).
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
$9 泛型基础.
产品推广 PRODUCT PROMOTION PRESENTED BY OfficePLUS.
第12章 组合模式 Deng Song
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
VB与Access数据库的连接.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
ES 索引入门
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
信号量(Semaphore).
iSIGHT 基本培训 使用 Excel的栅栏问题
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
辅导课程十五.
——向刑事案件被告人家属调查取证的伦理性讨论
Delphi 7.0开发示例.
SCI收录号查询方法介绍 上海大学情报研究所
如何制订幼儿园园本培训工作计划 大连亿达世纪城幼儿园 姜承华 2011年3月10日.
波形平均和叠加分析指南 上海骐驰仪器有限公司 Shanghai Qichi Instruments Co. Ltd.
树立开放理念 强化管理水平 全面提升来华留学生教育工作水平
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
VB与Access数据库的连接.
WEB程序设计技术 数据库操作.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
第七讲 酒店客房管理系统(三) 教育部“十二五”职业教育国家规划教材
多个Activity的使用 本讲大纲: 1、使用Bundle在Activity之间交换数据 2、调用另一个Activity并返回结果
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

WalkThrough SharePoint WebPart 入门指南 五 blog.joycode.com Kaneboy [MS MVP] 转载声明:此WalkThrough系列被转载和引用时,请保持博客堂链接。 Thanks.

此WalkThrough将演示 在两个WebPart之间交换数据(Connectable WebPart)

背景知识 了解WebPart编程的一般知识,请阅读此WalkThrough系列的前4辑。此WalkThrough中将不对某些具体细节(部署等)做详细描述。

一、了解Connectable WebPart Provider WebPart Consumer WebPart 提供者可以向使用者提供: 一项数据(Cell) 一行数据(Row) 一个表的数据(List) 查询过滤器(Filter) 参数(Parameters) ICellProvider IRowProvider IListProvider IFilterProvider IParametersInProvider IParametersOutProvider ICellConsumer IRowConsumer IListConsumer IFilterConsumer IParametersInConsumer IParametersOutConsumer 这个WebPart做为数据提供者 这个WebPart做为数据使用者 ★ Provider WebPart至少需要实现一个Provider接口 ★ Consumer WebPart至少需要实现一个Consumer接口 ★ Provider接口和Consumer接口(通过Transformer)不一定要一一对应 ★ 位于不同页面的符合要求的WebPart也可以连接起来

二、创建Provider WebPart(一) 在VS.NET中建立一个类型为“Web Part Library”,名称为“SampleWebPart”的项目。 将VS.NET自动创建的WebPart1( WebPart1.cs、 WebPart1.dwp)删除。 如左图,新建一个“Provider Web Part”,名称为“CityProvider”

三、创建Provider WebPart(二) 如下图所示,VS.NET自动生成的CityProvider不但从Microsoft.SharePoint.WebPartPages.WebPart继承,还实现了ICellProvider接口。实现了ICellPrivider的WebPart可以提供给别的WebPart一项数据。 在自动生成的“EnsureInterfaces()”方法中,可以看到有一条调用“RegisterInterface()”方法(包含8个参数)的语句,将其更改为: RegisterInterface ("CellProvider_WPQ_", "ICellProvider", WebPart.UnlimitedConnections, ConnectionRunAt.Server, this, "CellProviderInterface_WPQ_", “提供一个城市名称给:", “提供一项包含了城市名称的数据");

四、创建Provider WebPart(三) 在CityProvider中定义一个下拉框控件: private DropDownList cityList = new DropDownList(); 重写基类的“OnLoad()”方法,给下拉框绑定一些数据: protected override void OnLoad(EventArgs e) { if (cityList.Items.Count == 0) cityList.DataSource = new String[] {“北京”, “上海”, “深圳"}; cityList.DataBind(); } this.Controls.Add( cityList ); cityList.AutoPostBack = true; } 在已有的“RenderWebPart()”方法中,输出这个下拉框控件的内容: protected override void RenderWebPart(HtmlTextWriter output) cityList.RenderControl(output);

五、创建Provider WebPart(四) 在已有的“PartCommunicationMain()”方法中添加下面的代码,将开始添加的下拉框控件中选中的项的数据传递出去。 public override void PartCommunicationMain() { if (CellReady != null) // 创建要传递出去的数据 CellReadyEventArgs cellReadyArgs = new CellReadyEventArgs(); cellReadyArgs.Cell = cityList.SelectedItem.Text; // 通过CellReady这个事件,将数据传递给使用者 CellReady( this, cellReadyArgs ); }

六、创建Consumer WebPart(一) 如左图,新建一个“Consumer Web Part”,名称为“CityConsumer”

七、创建Consumer WebPart(二) 如下图所示,VS.NET自动生成的CityConsumer不但从Microsoft.SharePoint.WebPartPages.WebPart继承,还实现了ICellConsumer接口。实现了ICellConsumer的WebPart可以从别的WebPart接收一项数据。 在自动生成的“EnsureInterfaces()”方法中,可以看到有一条调用“RegisterInterface()”方法(包含8个参数)的语句,将其更改为: RegisterInterface ("CellConsumer_WPQ_", "ICellConsumer", WebPart. LimitOneConnection, ConnectionRunAt.Server, this, "CellConsumer_WPQ_", "从...处接收一个城市名称", "获取一项包含了城市名称的数据");

八、创建Consumer WebPart(三) 在已有的“CellReader()”方法中,接收Provider WebPart传送过来的数据,并赋值给自动生成的Text属性: public void CellReady(object sender, CellReadyEventArgs cellReadyArgs) { if(cellReadyArgs.Cell != null) Text = "你选择的是:" + cellReadyArgs.Cell.ToString(); } } 这个“CellReady()”方法会被SharePoint自动注册到(被连接起来的)Provider WebPart的CellReady事件,参看第五步骤。这样Provider WebPart就可以将数据通过CellReady事件传过来。 在自动生成的这个CityConsumer中,VS.NET会自动添加一个Text属性,并把Text属性的值在“RenderWebPart()”方法中输出。所以我们这个演示无需手写更多代码。

九、为两个WebPart创建部署文件 如右图,在项目中增加两个Dwp部署文件,分别命名为“CityProvider.dwp”和“CityConsumer.dwp”。下面分别是这两个Dwp文件的内容: <?xml version="1.0" encoding="utf-8"?> <WebPart xmlns="http://schemas.microsoft.com/WebPart/v2" > <Title>CityProvider</Title> <Description>一个提供城市名称的WebPart</Description> <Assembly>SampleWebPart</Assembly> <TypeName>SampleWebPart.CityProvider</TypeName> </WebPart> <?xml version="1.0" encoding="utf-8"?> <Title>CityConsumer</Title> <Description>一个接收城市名称的WebPart</Description> <TypeName>SampleWebPart.CityConsumer</TypeName> </WebPart>

十、部署、连接两个WebPart 将两个WebPart部署到一个页面上,如左图。由于我们尚未将它们连接起来,它们之间不会有任何数据的交互。 点击页面右上角的“修改我的网页”,选择“设计此网页”,进入当前页面的编辑状态。 如上图,点击CityProvider WebPart右上方的菜单按钮,选择“连接、提供一个城市名称给:、CityConsumer”,将这两个WebPart连接了起来。 同样,也可以点击CityConsumer WebPart右上角的菜单按钮,选择“连接、从…处接收一个城市名称、CityProvider”,来进行连接的操作。两者做其一即可。

十一、连接WebPart的效果 如左图,将两个WebPart连接起来以后,CityConsumer就可以接收到CityProvider选中的城市的名称,来动态的输出接收到的数据。 从CityProvider的下拉框中选择“上海”这个选项。 可以看到CityConsumer根据接收到的新的数据更改了输出内容。

十二、To Be Continued… blog.joycode.com Kaneboy [MS MVP]