SPGridView(实现分页,排序,过滤,菜单)

    技术2022-05-19  25

    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.    处理数据源

    Ø  需要指定ObjectDataSourceID,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

     

     

     


    最新回复(0)