JqGrid学习总结_2 动态改变列编辑属性

本文总结了JqGrid中editType属性的使用,详细介绍了如何动态改变列的编辑属性,包括text、textarea、select、checkbox等多种类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. JqGrid 的列属性见链接:http://www.qinbin.me/jquery-colmodel-property-description
  2. editType是列的编辑属性,可为text、textarea,select、checkbox、password、button、image、file等。

 3、一般在一列中只能设置一种编辑属性,这里介绍的是动态修改列属性,使用户在点击单元格    时,在一列出 现不同的编辑属性

 4、解决思路: 
   使用onCellSelect方法:在点击单元格时,保存上一行的值,然后根据不同需求设置单元格的    列属性  
   包括onCellSelect等一些的方法链接: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events
     定义变量:varpreCellID;
   onCellSelect :function(id){xs
     $(this).saveRow(preCellID,true);//保存上一行的值
      if(id&&id!=preCellID){ preCellID=id }//将当前行赋值给preCellID
                 //下面就是根据需求动态改变单元格的editType属性
    // 可以根据id获得行的值,然后根据这一行的某个值判断应该显示什么编辑属性 
    //  假设这个值是strType,设置的列名是:paranValue
     if(strType==1){   //代表这一行显示下拉框 select
       $("#editGrid").setColProp("paranValue",{
            editType:select,
            editOptions:getSelectvalue(条件),//根据条件动态获取下拉框的值
            formatter:"select" //这个属性的作用很大,详细介绍               见:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter
         }) ;  
      $(this).editRow(id,true) ;//这个设置是使行进入编辑状态,与前面                                         // 的 $(this).saveRow(preCellID,true)对应, 
  }if(strType==2){
         $("#editGrid").setColProp("paranValue",{
            editTYpe:checkbox,
            editOptions:{value:“ON:OFF”},
            formatter:"text" //以文本形式显示,即显示在界面上的值是ON或OFF      
           }
     $(this).editRow(id,true) 
   if(strType==3){ //在editType为text的情况下,添加时间控件datetimepiker
         $("#editGrid").setColProp("paranValue",{
            editType:text,         
            formatter:"text"    
           }
     $(this).editRow(id,true,functionpickdates(id){
        jQuery("#"+id+"_paramValue","editGrid").datetimepiker({
                dateFormate:"yy-mm-dd",//格式化日期
                timeFormate:"HH:mm:ss"//格式化时间
               })
    //关于时间控件见:http://trentrichardson.com/examples/timepicker/
     //             JQuery官网http://jqueryui.com/demos/
     }) 
    }if(strType==4){ //在editType为text的情况下,添加数字控件spinner
         $("#editGrid").setColProp("paranValue",{
            editType:text,         
            formatter:"text"    
           }
     $(this).editRow(id,true,functionSpinner(id){
        jQuery("#"+id+"_paramValue","editGrid").spinner({
          //可以对spinner的输入值做限制,见 JQuery官网:http://jqueryui.com/demos/ Spinner属性
               })  
    //这里只选了 时间控件和数字控件做例子,对于JQuery控件,以type=text的控件,       都可以用上述方法嵌套在jqGrid表格的单元格中              
      })
 备注:未完成,见下文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值