在使用jqGrid插件时,有时我们需要动态改变列的属性,可使用setColProp方法,用法如下

jQuery(”#grid_id”).setColProp('colname',{editoptions:{value:“True:False”}});

这里举个详细的例子。

使用Form Editing(弹出一个新的编辑窗口进行编辑和新增)的方式来修改内容时,根据行id的内容来决定该行是否可编辑,如果id号以字符“p"打头,则该行的groupname可编辑,否则就不可编辑。代码如下

--------------------------------------------------------------------------------------

//修改通讯录,如果是固定人员,即id不以p开头,则不允许编辑分组groupname
function edit(){
var gr = jQuery("#gridTable").jqGrid('getGridParam','selrow');
var rowdata=$("#gridTable").jqGrid().getRowData(gr);
var options={width:350,top:300,left:600,reloadAfterSubmit:true,closeAfterEdit:true,
};
if( rowdata != null ){
if(rowdata.id.indexOf("p") == 0){
$("#gridTable").jqGrid('editGridRow',gr,options);
}else{
$("#gridTable").setColProp('groupname',{editable:{value:"True:False"}});//设置editable属性由true改为false
$("#gridTable").jqGrid('editGridRow',gr,options);

}else alert("请选择要编辑的行");
};

---------------------------------------------------------------------------------------

使用jqGrid提供的setColProp方法对于动态改变列属性是非常有用的,但是有些属性的修改并不会起效。具体是哪些属性,读者可自行验证。
补充:
编辑jqGrid中的内容的方法有三种
Cell Editing——只允许修改某一个单元格内容
Inline Editing——允许在jqGrid中直接修改某一行的数据两种修改jqGrid内容的方式
Form Editing——弹出一个新的编辑窗口进行编辑和新增
具体请参考其他教程,在此不再赘述。

jqGrid使用setColProp方法动态改变列属性的更多相关文章

  1. easyui如何动态改变列的编辑属性

    动态改变列的编辑属性 var tt=$('#dg').datagrid('getColumnOption', 'yearContent'); //通过列名获得此列 tt.editor={type:'t ...

  2. 雷林鹏分享:jQuery EasyUI 数据网格 - 动态改变列

    jQuery EasyUI 数据网格 - 动态改变列 数据网格(DataGrid)列可以使用 'columns' 属性简单地定义.如果您想动态地改变列,那根本没有问题.为了改变列,您可以重新调用dat ...

  3. Android 动态改变布局属性RelativeLayout.LayoutParams.addRule()

    我们知道,在 RelativeLayout 布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可. 但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的 ...

  4. 代码中动态改变布局属性RelativeLayout.LayoutParams.addRule()

    我们知道,在 RelativeLayout 布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可. 但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的 ...

  5. 扩展jQuery easyui datagrid增加动态改变列编辑的类型

    $.extend($.fn.datagrid.methods, { addEditor : function(jq, param) { if (param instanceof Array) { $. ...

  6. 重新认识HBase,Cassandra列存储——本质是还是行存储,只是可以动态改变列(每行对应的数据字段)数量而已,当心不是parquet

    行先是以一种非常独特的方式被索引,随后Bigtable利用行键对数据进行分割,将它们分布到集群中.列可以被迅速地定义在行中,让Bigtable适用于大多数的非模式环境. 数据在表面上最初是由行进行排列 ...

  7. 定义一个Book类,有书名,价格,作者等信息。定义相应的方法来改变这些属性的值。定义一个方法来显示Book的所有信息。

    package com.fs.test; public class Test { public static void main(String[] args) { // 先声明后赋值 book b;/ ...

  8. EasyUI datagrid动态生成列

    任务描述:根据用户选择时间段,生成列数据,如图

  9. extjs中第一次访问有效,第二次访问出现部分组件无法显示的,动态改变组件的label值的方法,ExtJs中组件最好少使用ID属性(推荐更多使用Name属性)

    在公司做的一个OA项目中,曾经就遇到了这样的一个问题:(我是在jsp中的div中将js render到div中去的)第一次访问此界面的时候,formpanel上的组件能正常显示,不刷新整个页面的前提下 ...

随机推荐

  1. [笔记]linux下和windows下的 创建线程函数

    linux下和windows下的 创建线程函数 #ifdef __GNUC__ //Linux #include <pthread.h> #define CreateThreadEx(ti ...

  2. VB.NET 创建文件以及文件的读写(创建随机数)

    创建文件 Dim strFile As String = String.Format("C:\ErrorLog.txt", DateTime.Today.ToString(&quo ...

  3. 【转】WPF: 自动设置Owner的ShowDialog 适用于MVVM

    原文地址:http://www.mgenware.com/blog/?p=339 WPF中的Windows的ShowDialog方法并没有提供设置Owner的参数,开发者需要在ShowDialog前设 ...

  4. easyui中方向键、tab键、回车键

    1.html中 function changeTab(event, i) { var keyCode = event.keyCode; var inputs = jQuery("#table ...

  5. JMM和happens-before原则

    JMM: Java Memory Model(Java内存模型),围绕着在并发过程中如何处理可见性.原子性.有序性这三个特性而建立的模型. 可见性: JMM提供了volatile变量定义.final. ...

  6. Notes:SVG(1)

    SVG,"Scalable Vector Graphics"可伸缩矢量图形,基于可扩展标记语言,用于描述二维矢量图形的一种图形格式. SVG是纯粹的XML,可以使用以下方法插入到H ...

  7. Objective-C中的集合类

    下面详细的介绍Objective-C中的集合类以及每个集合类的用法,学过其他面向对象编程语言的小伙伴们看到OC的集合类会有种莫名的亲切感,理解起来问题不大,可以类比Java中的集合类去学习. 在Obj ...

  8. android 如何获取手机的图片、视频、音乐

    在android 开发中,很多时候,我们会需要调用到用户本机的照片.视频或者是音乐让用户选择,来进行我们APP对应的操作. button.setOnClickListener(new OnClickL ...

  9. Cesium原理篇:3最长的一帧之地形(2:高度图)

           这一篇,接着上一篇,内容集中在高度图方式构建地球网格的细节方面.        此时,Globe对每一个切片(GlobeSurfaceTile)创建对应的TileTerrain类,用来维 ...

  10. 再看ftp上传文件

    前言 去年在项目中用到ftp上传文件,用FtpWebRequest和FtpWebResponse封装一个帮助类,这个在网上能找到很多,前台使用Uploadify控件,然后在服务器上搭建Ftp服务器,在 ...