EasyUI Pagination 分页的两种做法小结
关于EasyUI Pagination分页的两种做法详解
EasyUI是一个基于jQuery的UI插件集合,其中的datagrid组件支持服务器端分页,对于大数据量的展示非常友好。下面我将详细介绍两种EasyUI datagrid的服务器端分页机制。
一、使用datagrid默认机制
后台代码示例(以C为例):
```csharp
public JsonResult GetQuestionUnit()
{
// EasyUI datagrid会通过POST方式传递rows和page参数
int pageSize = Convert.ToInt32(Request["rows"]);
int pageNum = Convert.ToInt32(Request["page"]);
var dal = new QsQuestionUnitDal();
var questionUnits = dal.GetList("", pageNum - 1, pageSize);
// 返回的数据格式必须包含total和rows
var easyUIPages = new Dictionary
easyUIPages.Add("total", questionUnits.FirstOrDefault() == null ? 0 : questionUnits.FirstOrDefault().ReqCount);
easyUIPages.Add("rows", questionUnits);
return Json(easyUIPages, JsonRequestBehavior.AllowGet);
}
```
前台代码示例:
```javascript
$(function(){
$('dgd').datagrid({
pageNumber: 1,
columns: [[
{ field: 'Id', title: 'id', width: 100 },
{ field: 'Name', title: 'name', width: 100 },
]],
pagination: true,
rownumbers: true,
pageList: [3, 6]
});
var p = $('dgd').datagrid('getPager');
$(p).pagination({
beforePageText: '第',
afterPageText: '页 共 {pages} 页',
displayMsg: '共{total}条数据'
});
});
```
在这种方式下,你需要在页面加载时将datagrid初始化,并设置分页参数。如果需要通过其他JS方法调用datagrid方法,确保在`$(function(){...});`的范围内进行,以确保正确加载和初始化。
二、利用Ajax获取数据并填充Datagrid
如果你想拥有更大的灵活性,可以选择不使用datagrid的默认机制,而是使用Ajax来获取数据,然后手动填充到datagrid中。这种方式可以让你更灵活地控制数据的获取和处理。你可以根据需要自定义Ajax请求的参数、格式和处理逻辑。这种方式需要你手动处理分页逻辑,包括计算总数据量和当前页的数据。这种方式更加灵活,但也相对复杂一些。两种方式各有优缺点,可以根据实际需求选择适合的方案。希望这篇文章能帮助你更好地理解EasyUI的datagrid分页机制。在后台代码不变的基础上,我们引入了EasyUI的datagrid方法。通过点击某个按钮,调用step1Ok方法,来实现数据的分页加载。这种方法以其直观易懂的操作和流畅的用户体验而备受推崇。
step1Ok函数的工作方式是这样的:通过$.messager.progress显示一个加载提示框,让用户知道程序正在处理数据。然后,获取datagrid的分页器对象,为其onSelectPage事件添加一个事件处理器。这样,每当用户切换页面时,都会触发这个事件处理器,并调用getData方法来获取对应页面的数据。首次调用时,默认加载第一页的3条数据。
getData方法则负责向后端请求数据。它使用ajax进行POST请求,指定了url和需要传递的参数(页码和每页行数)。当请求发生错误时,会弹出一个提示框告知用户错误信息,并关闭进度提示框。如果请求成功,那么会将返回的数据加载到datagrid中。
这种分页方式的独特之处在于,它绕过了datagrid的原有分页机制,而是利用自己的方式处理分页。我们通过$.messager.progress来提示用户数据加载的进度,并在ajax请求的success回调中关闭进度提示框。这种方式确保了用户体验的流畅性和数据的实时性。
EasyUI的Pagination分页提供了两种实现方式。一种是通过datagrid自带的分页功能,另一种则是通过自定义的方式处理分页。第二种方式给了我们更大的灵活性,让我们能够根据实际需求调整分页的逻辑。
以上就是长沙网络推广为大家介绍的EasyUI Pagination分页的两种做法的小结。希望对大家有所帮助。如果想了解更多关于EasyUI的内容,或者有任何疑问,欢迎关注我们的狼蚁SEO网站。在这里,我们将持续为大家分享更多有关网络推广和EasyUI的知识。记得关注我们的动态,一起更多前沿技术!通过cambrian.render('body')这段代码,我们可以将上述内容完美呈现给用户,让他们在浏览网页的也能感受到我们内容的和广度。
编程语言
- EasyUI Pagination 分页的两种做法小结
- java eclipse 启动参数
- PHP切割汉字的常用方法实例总结
- asp长文章用分页符来分页显示
- Mysql主从复制注意事项的讲解
- JavaScript数据推送Comet技术详解
- js防刷新的倒计时代码 js倒计时代码
- angularjs实现下拉列表的选中事件示例
- SpringBoot + Vue + Electron 开发 QQ 版聊天工具的详细教
- JQuery ZTree使用方法详解
- ASP常用源代码的总结(下)
- 详解vue-router和vue-cli以及组件之间的传值
- AngualrJS中的Directive制作一个菜单
- 在asp.net网页中显示数学符号的代码
- 让你的PHP7更快之Hugepage用法分析
- thinkphp验证码的实现(form、ajax实现验证)