jqgrid的官方demo大部分都是后台分页的。你可以一次性传到客户端进行分页。不过数据量大还是后台分页的好。至于排序会传递个sidx参数代表排序的字段,传递sord参数值为asc或者desc为升排序还是降排序
创新互联公司网站建设公司是一家服务多年做网站建设策划设计制作的公司,为广大用户提供了做网站、网站制作,成都网站设计,一元广告,成都做网站选创新互联公司,贴合企业需求,高性价比,满足客户不同层次的需求一站式服务欢迎致电。
目标:实现一个类似于Excel功能的Grid数据维护功能,并且就地编辑在乎的是Cell编辑而不是行编辑
候选者:easy-ui之datagrid, jqgrid, flexigrid
使用环境:jquery, bootstrap,bootstrap-datepicker
特性要求:
1. 列排序和列宽改变
2. 行颜色改变和样式
3. 表头排序,表头改变顺序
4. cell inline editing
5. 易于定制和扩展
上面上个没有没有一个本身就能满足所有的功能
其中easy-ui datagrid缺乏列重排序和Cell edit的功能
jqgrid缺乏列重排
flexgrid缺乏就地编辑的功能
幸运的是它们每一个自己改改都能实现自己的功能,其中flexgrid个人觉得最轻量级最灵活,所以给他配上in-place edit插件,然后利用它的process回调函数,所有功能特性全部满足了,主要是干干净净,看着就舒服。而且它的UI非常像EXTJS,个人非常喜欢,还有是表头的拖拽功能,隐藏显示功能都非常要用。
jqgrid 2008年就搞过,功能非常丰富,它处理复杂Grid,比如嵌套grid,组合表头都很棒,但是它很多东西严重依赖JQuery UI来搞,皮肤都是Jquery Ui的,如果项目中用了JQuery UI,那么使用它作为JQuery UI在Grid方面的功能实现,是非常棒的;
EasyUI是近年流行的JQuery下类ExtJS的UI库,它提供了完整的一套UI组件,并且日趋成熟,如果整个系统都是由EasyUI做的,那么用EasyUI也是很棒的,但是我却不喜欢它默认的风格,觉得某些方面不如EXTJS那么细腻。
JQuery是继prototype之后又一个优秀的Javascript库。
jQuery采用的是MIT许可证,简单些说,你可以免费使用jQuery,但是,至于某些jQuery插件收不收费,那就要看作者的想法了,如果你想开发jQuery插件,你完全可以自己定义是否收费的。
ASP.NET MVC 3程序如何绑定JQuery插件JQgrid
今天试用了一些JQuery的插件JQgrid,此插件能非常快捷的帮助我们建立一个CRUD功能的表单,并且具有分页,排序等一些基本功能,非常好用。
下面看下实施步骤:
首先下载好JQgrid的类库之后,在Layout.cshtml中引用他,那么之后我们就不需要在每一个view中都去引用相同的类库了。这里我引用了这几个文件来帮助我们开发:
link href="../../Scripts/JQgrid/jquery-ui-1.8.23.custom/css/ui-lightness/jquery-ui-1.8.23.custom.css" rel="stylesheet" type="text/css" /
link href="../../Scripts/JQgrid/jquery.jqGrid-4.4.1/css/ui.jqgrid.css" rel="stylesheet" type="text/css" /
script src="../../Scripts/JQgrid/jquery.jqGrid-4.4.1/js/i18n/grid.locale-en.js" type="text/javascript"/script
script src="../../Scripts/JQgrid/jquery.jqGrid-4.4.1/js/jquery.jqGrid.min.js" type="text/javascript"/script
接下来我们可以开始在你需要的view文件中书写以下代码,当然你可以根据喜好来配置它的属性,JQgrid的属性非常之多,在上面的Demo示例中你可以找多更多的属性和事件。
script type="text/javascript"
jQuery(document).ready(function () {
jQuery("#list").jqGrid({
url: '/UserView/UserMaintenance', //---necessary
datatype: 'json', //---necessary
mtype: "GET", //---necessary
//datatype: 'local', //----add
//data: mydata, // ---add
colNames: ['Name', 'ID', 'Active', 'Customer Group'], //----edit
colModel: [
{ name: 'Name', index: 'Name', width: 500, sortable: false },
{ name: 'CP_CSTMR_ID', index: 'CP_CSTMR_ID', width: 100 },
{ name: 'Active', index: 'Active', width: 100, sortable: false },
{ name: 'Customer Group', index: 'Customer Group', width: 100, sortable: false} //----edit
],
pager: '#pager',
rowNum: 10,
sortname: 'CP_CSTMR_ID',
sortable: true,
sortorder: 'asc',
rowList: [10, 15, 20],
viewrecords: true,
caption: 'User Maintenance list',
height: 230,
loadtext: 'Loading Data please wait ...',
postData:
{
name: function () { return jQuery("#name").val(); },
active: function () { return jQuery("#active option:selected").val(); }
},
onSortCol: function (index, colindex, sortorder) {
}
// gridComplete: function()
// {
// $(window).resize(function(){
// var winwidth=$(window).width()*0.5;
// $("#list").setGridWidth(winwidth);
// })
// }
});
jQuery("#list")
.jqGrid('navGrid', '#pager', { del: false, add: false, edit: false, search: false }, {}, {}, {}, { multipleSearch: false })
.navButtonAdd('#pager', {
caption: "Search",
buttonicon: "ui-icon-search",
onClickButton: function () {
},
position: "last",
id:"searchButton"
})
.navButtonAdd('#pager', {
caption: "View Detail",
buttonicon: "ui-icon-detail",
id: "viewdetails",
onClickButton: function () {
test();
},
position: "last"
})
//jQuery("#list").jqGrid('filterToolbar', options);
});
/Script
转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
在jquery里可以直接用isNaN(),因为他是JavaScript的类库。是由JavaScript语言写的。
例如:
script type="text/javascript"
$(document).ready(function(){
alert(isNaN($('#id').val()));
});
/script可以直接使用