SPGridView绑定数据(实现分页,排序,过滤,带菜单)

 

添加创建项目

1.       打开VS2010,点击新建项目,选择“Sharepoint”模板的2010,选择“可视化web”部件。

出现如图:

 

下面介绍一下各个文件的用途:

Features这个文件存放的是功能的xml文件。

Elements.xml是实现feature的程序定义清单。

SPGridViewObject.cs 我们也可以直接在这个类中开发,动态生成控件。可以跟在ascx.cs中实现的功能一样。只是可视化差了一点。

SPGridViewObject.webpart这个是我们要部署的文件。

SPGridViewObjectUserControl.ascx这个就是可视的web部件,我们可以直接拖拽控件到页面上,然后进行开发。

Key.snk这个文件大家都很熟悉了,如果把程序集放入GAC中的话,都需要强命名。

 

2.       首先在页面上添加SPGridView,如图:

要设置AutoGenerateColumns=”false”,因为SPGridView不支持自动生成列。

3.       要实现分页的话,必须加入SPGridViewPager,如图:

    GridViewId是你要跟哪个SPGridView分页的ID。

ObjectDataSource

使用ObjectDataSource做数据源好处:可以自动处理排序和过滤。

坏处:不能够绑定Sharepoint中列表的数据。

1.    处理数据源

Ø  需要指定ObjectDataSource的ID,TypeName,SelectedMethod,并且将数据源放入Controls中。

Ø  TypeName是要执行的程序集。这个需要斜对。

代码如下:

 

绑定后如图:

Ø  需要注意的是:绑定的时候要加上:SPGridView1.EnableViewState = false;否则点击排序的时候,就会重复加载数据。而且如果不加上的话,过滤和分组没有办法同时实现。

 

2.    绑定字段

Ø  因为SPGridView控件不支持自动生成数据列,因此所有的列需要在代码中声明。

代码如下:

 

基本的信息就是绑定上字段的“HeaderText”,“DataField”,“SortExpression”,具体意思就不在一一讲解了,因为看属性就知道是什么意思了。最后一句很重要:  SPGridView1.AllowSorting = true;如果将他设为false则就没有排序功能了。

3.    设置过滤字段

Ø  需要说明的是FilterDataFields属性,这个是绑定需要过滤的字段的,如果需要过滤的“标题”是第一列,则直接写成“标题,..,”,如果标题不是第一列,则写成“,标题,…,”。

部署后如图:

 

 

4.    设置分组

Ø  分组代码如下:

 

 

  分组完成,部署上去以后,显示如图:

5.    添加下拉菜单

Ø  我们可以添加像sharepoint中那样的下拉菜单。我们添加了一列“解决办法“的下拉菜单。

代码如图:

生成效果如图:

6.    分页

Ø  设置分页的话,需要编写分页事件,并且在SPGridView中设置PageSize属性。例子中设置PageSize=”2”如图:

实现后的效果如图:


7.绑定数据源

一定要注意绑定数据源的时候设置EnableViewState=false属性。

8.部署

VS2010真是个好东西,直接将很多东西都生成了,而且部署起来很方便。

它的部署:

1.       先将dll文件放入GAC中。

2.       在web.config中修改<safeControl>节点。

3.       在C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/14/TEMPLATE/CONTROLTEMPLATES文件下建一个跟webpart相同名称的文件夹,用户控件(.ascx)存在这个文件夹下。

4.       在C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/14/TEMPLATE/FEATURES文件夹下创建一个功能文件,里面含有:.webpart,feature.xml,element.xml。

这些操作在用VS2010时,点击部署,就直接完成了,给我们省去了很多工作,如果用VS2008不用插件的话,就只有自己去写这些部署文件。

SPDataSource

使用SPDataSource作为数据源的时候,好处:可以直接读取Sharepoint中站点中列表的数据。坏处:不能够实现过滤。

除了数据源跟ObjectDataSource获取的时候不一样外,其他的都一样,因此只列举处理数据源的部分。

1.    处理数据源

Ø  读取站点中的Case列表。利用的是SPDataSource的属性List

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值