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

【SPGridView 数据绑定详解】 SPGridView 是 SharePoint 中用于展示数据的一种控件,它提供了丰富的功能,包括排序、过滤、分组和分页等。在本文中,我们将详细探讨如何使用 SPGridView 实现这些功能,以及如何添加菜单。 1. **创建 SPGridView 项目** 创建新项目时,选择 "SharePoint" 模板中的 "Visual Web Part"。项目主要包含以下几个文件: - `Features`:存放功能相关的 XML 文件。 - `Elements.xml`:定义功能的程序清单。 - `SPGridViewObject.cs`:可直接在此类中开发控件,但可视化较差。 - `SPGridViewObject.webpart`:部署文件。 - `SPGridViewObjectUserControl.ascx`:可视化 Web 部件,用于直接拖拽控件进行开发。 - `Key.snk`:用于程序集的强命名。 2. **SPGridView 结构配置** - 将 SPGridView 添加到页面,设置 `AutoGenerateColumns="false"`,因为 SPGridView 不支持自动生成列。 - 若要实现分页,需添加 SPGridViewPager,并设置 `GridViewId`。 3. **数据源处理** - 使用 ObjectDataSource 作为数据源,其优点是可以自动处理排序和过滤,缺点是无法直接绑定 SharePoint 列表数据。 - 设置 ObjectDataSource 的属性,如 `ID`、`TypeName`、`SelectedMethod`,并将数据源添加到 Controls 中。 - 注意:为避免排序时重复加载数据,应设置 `SPGridView1.EnableViewState = false`。这同时确保过滤和分组功能的正常运行。 4. **绑定字段** - SPGridView 不支持自动生成列,所以需手动创建并设置每列的 `HeaderText`、`DataField` 和 `SortExpression`。 - 开启排序功能:`SPGridView1.AllowSorting = true`。 5. **设置过滤字段** - 使用 `FilterDataFields` 属性指定需要过滤的字段。 6. **分组** - 通过代码设置分组,例如:`SPGridView1.GroupByExpressions.Add(new SPGroupByExpression("ColumnName"))`。 7. **添加下拉菜单** - 可创建类似 SharePoint 下拉菜单,为某列添加选择项。 8. **分页** - 设置 `PageSize` 属性,如 `SPGridView1.PageSize = 2`。 - 编写分页事件处理程序。 9. **注意事项** - 数据源绑定时务必设置 `EnableViewState = false`。 10. **部署** - 使用 VS2010,部署过程相对简单,包括将 DLL 放入 GAC,修改 `web.config` 的 `<safeControl>` 节点,创建与 WebPart 同名的文件夹放置用户控件,以及创建功能文件夹包含 `.webpart`、`feature.xml` 和 `element.xml`。 11. **SPDataSource 对比** - SPDataSource 可直接读取 SharePoint 列表数据,但不支持过滤功能。其他配置与 ObjectDataSource 相似。 通过以上步骤,你可以创建一个功能完备的 SPGridView,实现数据的排序、过滤、分组和分页,并添加下拉菜单,以提供更丰富的用户体验。在实际开发中,根据具体需求选择适合的数据源,确保性能和功能的平衡。



























剩余6页未读,继续阅读

- zmoneyz2011-11-01还不错,若能再多点注释会更好
- zhzhy222012-03-16数据源是ObjectDataSource,我想看的是SPDataSource的,不过也不错了。谢谢分享。
- FlyingArrow2013-03-10看了一下,不错的资料,虽然没解决我的问题,但是还是感谢
- Evil_Zero_0032013-09-06资料不错,挺有参考价值的

- 粉丝: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于Tensorflow卷积神经网络天气图像识别系统设计毕业源码案例设计
- 【多变量时序预测】MATLAB实现基于LSTM-XGBoost长短期记忆网络(LSTM)结合极端梯度提升(XGBoost)进行多变量时序预测的详细项目实例(含模型描述及部分示例代码)
- 【机器学习与深度学习】MATLAB实现基于LSTM-XGBoost长短期记忆网络(LSTM)结合极端梯度提升(XGBoost)进行多输入单输出回归预测的详细项目实例(含模型描述及部分示例代码)
- Flet框架图片自动轮播组件自定义模板
- 【时间序列预测】MATLAB实现基于MLR-NGO-BiLSTM多元线性回归(MLR)结合北方苍鹰优化算法(NGO)和双向长短期记忆网络(BiLSTM)进行多变量时间序列预测的详细项目实例(含模型描述
- 基于MATLAB遗传算法的公交线路优化研究
- 故障诊断MATLAB实现基于MSPE-KPCA-LSTM多尺度排列熵(MSPE)结合核主成分分析(KPCA)和长短期记忆网络(LSTM)进行故障诊断分类预测测的详细项目实例(含模型描述及部分示例代
- 【多变量时间序列预测】MATLAB实现基于NGO-BiLSTM北方苍鹰优化算法(NGO)结合双向长短期记忆网络(BiLSTM)进行多变量时间序列预测的详细项目实例(含模型描述及部分示例代码)
- 图片播放插件,实现图片模仿PPT播放效果
- 成果转化智能体:赋能高校科研创新与成果落地的新引擎.docx
- 2025年中国医院创新转化报告.pdf
- 成果转化智能体:赋能科研创新与产业升级的新引擎.docx
- 成果转化智能体:构建高校科研成果转化新生态.docx
- 成果转化智能体:构建技术成果高效转化新生态.docx
- 成果转化智能体:构建生态协同创新新范式.docx
- 成果转化智能体:构建生态协同创新新机制.docx


