jqGrid显示数据,属性,多重表头,子表,行编辑,单元格编辑等 基本

来源:互联网 发布:saber软件下载 编辑:程序博客网 时间:2024/04/30 13:35

第一次发帖 可能格式有点差  见谅!


JavaScipt代码:

<script type="text/javascript"> var lastsel3; //选择一行进行编辑时用到的$(function(){   $("#list").jqGrid({    url:'studentShow_do.jsp',    datatype: 'json',    mtype: 'post',    colNames:['学号','姓名', '年龄','生日'],    colModel :[       {name:'sid', index:'sid', width:155, align:'center',editable:true},       //edittype 修改时设置编辑框的HTML样式的      {name:'sname', index:'sname', width:190, align:'center',editable:true,edittype:'select',editoptions:{value:"1:张三;2:李四;3:王五"}},      //行内编辑时自定义的验证valiAge方法中写验证条件       {name:'age', index:'age', width:180, align:'center',editable:true,editrules:{custom:true,custom_func:valiAge}},       /**对于时间格式的显示formatter:'date'格式化时间和formatoptions:{srcformat: 'Y-m-d H:i:s', newformat: 'Y-m-d H:i:s'} 配合使用,       * H:i:s用于显示时分秒,newformat: 'Y-m-d',当Y为小写时 只显示年份的后两位如1988则显示88;m(月),d(日)为大写时则显示英文(简写)的月日;       */      {name:'brith', index:'brith',formatter:'date',formatoptions:{srcformat: 'Y-m-d', newformat: 'Y-m-d'}, width:250, align:'center',editable:true,sorttype:"date"}     ],    //forceFit : true,//调整列宽度    pager: '#pager',//定义页码控制条Page Bar,需要一个div    rownumbers: true, //如果为ture则会在表格左边新增一列,显示行顺序号,从1开始递增(翻页后的值与rowList有关)。此列名为'rn'.    rowNum:5, //一页中显示的最大条数,返回条数大于此值时,仍显示此值的条数.    rowList:[20,50,100],//一个数组,用于设置Grid可以接受的rowNum值    sortname: 'sid',//初始根据哪个列来排序, 当在表格中点击不同的列头,可以实现动态根据某列来排序,将会把点击的列名传到后台来实现根据不同的字段来排序    sortable:true,     viewrecords: true, //设置是否在Pager Bar显示所有记录的总数    sortorder: 'asc',//排序asc or desc    prmNames:{page:'page',rows:'rows',totalrows:'totalrows',sort:"sidx"},//设置默认传到后台的参数名称    loadtext:'等等',    height: '80%',    altRow:true,    multiselect: true,//是否显示多选框    multiboxonly: false, //是否只有点击多选框时,才执行选择多选框checkbox.默认为false,点击一行亦选定此行的多选框    multiselectWidth: 50, //多选框所在列的宽度    page:1,//初始显示第几页    //cellEdit: true,//与colModel中editable属性配合使用,当editable:true,cellEdit:true时可以对editable:true的列进行单个单元格编辑,cellEdit:false时(colModel中所有列editable都为true时)整行编辑    editurl:'ok.jsp',//编辑栏编辑后发送的地址(整行)    cellurl:'ok.jsp',//单元格的发送地址   gridview: true,//构造一行数据后添加到grid中,如果设为true则是将整个表格的数据都构造完成后再添加到grid中,但treeGrid, subGrid, or afterInsertRow 不能用   subGrid : true,//开启显示子表的按钮    caption: "jqGrid test",    subGridRowExpanded: function(subgrid_id,row_id) {//显示子表    var subgrid_table_id = "subgrid_"+subgrid_id;$("#"+subgrid_id).html("<table id='"+subgrid_table_id+"'></table>"); $("#"+subgrid_table_id).jqGrid({ url:'studentShow_do.jsp',    datatype: 'json',    colNames:['学号','姓名', '年龄','生日'],    colModel :[       {name:'sid', index:'sid', width:155, align:'center'},       {name:'sname', index:'sname', width:190, align:'center'},       {name:'age', index:'age', width:180, align:'center'},       {name:'brith', index:'brith', width:250, sortable:false}     ],   height: '100%'});    },        onSelectRow: function(rowid,sid,status){    if(rowid && rowid!==lastsel3){//当选中的不是上一次选中的行就(restoreRow)释放(恢复)上一次选中的行,避免选中多行jQuery('#list').jqGrid('restoreRow',lastsel3);jQuery('#list').jqGrid('editRow',rowid,true,pickdates);lastsel3=rowid;}else{jQuery('#list').jqGrid('editRow',rowid,true,pickdates);lastsel3=rowid;}    },    loadComplete: function(){     //alert("s");    }  });  //多重表头  //顶级表头jQuery("#list").jqGrid('setGroupHeaders', {useColSpanStyle: false, //没有表头的列是否与表头列位置的空单元格合并groupHeaders:[//合并 startColumnName(开始列),以sid列开始; numberOfColumns(合并几列),合并2列; titleText(合并后父列名),合并后父列名为All Student{startColumnName: 'sid', numberOfColumns: 4, titleText: 'All Student Info'}]});//二级表头jQuery("#list").jqGrid('setGroupHeaders', {useColSpanStyle: false, //没有表头的列是否与表头列位置的空单元格合并groupHeaders:[//合并 startColumnName(开始列),以sid列开始; numberOfColumns(合并几列),合并2列; titleText(合并后父列名),合并后父列名为All Student{startColumnName: 'sid', numberOfColumns: 3, titleText: 'Base Student Info'},{startColumnName: 'brith', numberOfColumns: 2, titleText: 'other'}]});jQuery("#list").jqGrid('navGrid','#pager',{edit:true,add:true,del:true});//$("#list").jqGrid('inlineNav','#pager');//行内编辑 (或与单元格编辑(选择) 引冲突) //对话框 $("#dialog").dialog({autoOpen: false,show: "blind",hide: "explode"});});function pickdates(rowid){$("#"+rowid+"_brith","#list").datepicker({dateFormat:"yy-mm-dd"});//时间控件} function valiAge(value,colname) {        if (value < 0 || value >120) {           return [false,"请填写0-120之间的数字!"];}        else {           return [true,"ok"];}}</script>

HTML代码

<body>    <table id="list" border="1"></table><div id="pager"></div><div id="dialog" title="Basic dialog"><p>展示所有学生信息</p></div>  </body>



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 高铁出站没检票怎么办 高铁来不及取票怎么办 被发现假的增值税发票怎么办 高铁票身份证验证失败怎么办 网上订的火车票查不到怎么办 已经参加工作想学个本科证怎么办 火车晚点耽误下一趟列车怎么办 门外装监控没有预留电线怎么办 框架柱主筋柱顶预留长度不够怎么办 遇到很嚣张的人怎么办 在地板砖上铺木地板卧室门怎么办 宝宝打预防针的本子丢了怎么办 宝宝打预防针本子丢了怎么办 打疫苗的本子丢了怎么办 麦客收割机麦秸里加麦粒怎么办 高铁乘务员身高不够怎么办 坐火车买到站票怎么办 买上车补票原票怎么办? 买的商务座补票怎么办 12306账号被别人登录怎么办 飞机不提供餐食怎么办 12306退票支付宝失败怎么办 12306重复支付怎么办支付宝 支付宝登的12306账号怎么办 没买儿童高铁票怎么办 网上订的机票怎么办托运 半夜买高铁票不出票怎么办 轻轨少买了一站怎么办 高铁火车票丢了怎么办 如果高铁票丢了怎么办 高铁票丢了怎么办 报销 高铁如果没赶上怎么办 高铁管家待核验怎么办 动车没有票了怎么办 12306取消订单3次怎么办 【12306取消订单3次怎么办】 火车票取消订单3次怎么办 12306收不到验证码怎么办 安逸花验证码次数限制怎么办 航班晚点导致错过转机怎么办 想去沈阳站送站怎么办