jqGrid 笔记 获取rowData colModel 不同类型字段 不同查询 定制cell 模板 横向卷轴

定制cell 模板

写一个自定义的format

 

        $("div.returnValue").live('click',function(){
            alert($(this).attr("rel"));
        });

        function custFormat( cellvalue, options, rowObject ){
            return '<div style="color:red;" class="returnValue" rel="'+options.rowId+'">'+cellvalue+' </>';
        }
        function custUnFormat( cellvalue, options, cell){
            return $('div').html();
        }
 

 

colModel:[
                        {name:'act',index:'act', width:60,},
                        {name:'id',index:'id', width:60, sorttype:"int",formatter:custFormat, unformat:custUnFormat},

 

 

 

添加按钮

定义col的时候预留一个col

 

               colNames:['Action',....'],
                colModel:[
                        {name:'act',index:'act', width:60,},
                        ..........

 加载完grid的时候再去填充这个col

 

                gridComplete: function(){
                    var ids = jQuery("#gridTable").jqGrid('getDataIDs');
                    for(var i=0;i < ids.length;i++){
                        var cl = ids[i];
                          be = "<input style='height:22px;width:60px;' type='button' value='return' onclick=\"alert('"+cl+"');\"  />"; 
                          jQuery("#gridTable").jqGrid('setRowData',ids[i],{act:be});
                    }   
                },
 

 

 

横向卷轴

设置各行的宽度, 不要设grid的宽度

然后配置

 

                loadComplete:function(data){

                   jQuery("#gridTable").setGridWidth(850,false);

                },

 

 

 

 

 

查询分页的时候postData  传参数不上服务器

后来google了后  发现要这么写

 

 

        postData:{
            firstRowid:function() { return $("#firstRowid").val(); },
           lastRowid:function() { return $("#lastRowid").val(); },
           currentPage:function() { return $("#currentPage").val(); },
        },
 

注意逗号要和我的一样多

 

 

 

 

my code

 

<table id="users" style="font-size:11px;font-family:Calibri,Tahoma;"></table>

$("#users").jqGrid({
        url:'search',
        datatype: "json",
        colNames:[

       ........

}
ondblClickRow: function(id){ 
            var row=$("#users").getRowData(id);  //根据ID拿到一行的数据
              $("#Select").val(row.rowName);
              $.fn.colorbox.close();
            }
 colModel:[
            {name:'id',index:'id',width:40,sortable:true,hidden:true},
            {name:'rowName',index:'indexName',width:105,sortable:true},
 

 

colModel

中 name是js端用来获取rowData的值时用的

index是传到服务器端用来做 searchField ,  sidx (orderby 的字段)

 

和extjs不同的是 服务器传过来的json数据,他是按顺序一个一个填充到列里去的,服务器上的json属性名和colModel中的不一样也可以

{name:'invdate',index:'invdate', width:90, jsonmap:"invdate"},这个jsonmap才是做映射的

 

指定查询  可以进行的操作, 不同类型字段 不同查询

{name:'email',index:'email',width:160,sortable:true,searchoptions:{sopt:['eq','ne','cn','nc']}}

{name:'cellphone',index:'cellphone',width:90,sortable:true,searchoptions:{sopt:['eq','ne','lt','le','gt','ge']}},

 

 

http://www.trirand.com/blog/jqgrid/jqgrid.html

http://www.secondpersonplural.ca/jqgriddocs/index.htm

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:search_config

===============================================================

 

转:

 

http://blog.csdn.net/alfoo/archive/2010/03/30/5434022.aspx

1. 如何获取grid 选中的行的ID

var rowid = $("#searchResultList
").getGridParam("selrow
");

2. 如何在表格中动态增加一行数据?

//$("#jqgrid").addRowData(rowId, data, pos, idx);

//pos可以为[first,last,before,after],为后两者是需要指定相对的行ID

$("#jqgrid
").addRowData("1
", {"name
":"test
","age
":12}, "first
");

3. 如何动态修改某行的数据内容,如某几列的值?

//setRowData( rowid, data );

$("#jqgrid
").setRowData( "1
", { tax:"5
", total:"205
" });

4. jqgrid 的常用属性?

$("#jqgrid
").jqGrid({
	url:"${ctx}/sys/role/search.dm
",
	colNames:["角色名称
"],//,"角色代码"

	colModel:["roleName
"],//"roleCode"还可以用对象替换

	jsonReader:{id:"roleId
",root:"dataList
"},
	width:240,
	height:250,
	rowNum:20,//每页20条记录

	pager: "logListPager
",//分页显示的DIVID

	sortname: "actionTime
",//默认排序的列名

	sortorder: "desc
",//默认排序的顺序

	scroll
:true
,//鼠标滚动翻页

	onSelectRow: function
(rowid) {}
});

5. 获取某一行的数据对象?

var
 rowid = $("#searchResultList
").getGridParam("selrow
");
var
 rowData = $("#searchResultList
").getRowData(rowid);

6. 如何使用API 动态修改选中的行?

//true:重新加载表格数据, false:不重新加载表格数据

$("#jqGrid
").setSelection("1
", true
);

你可能感兴趣的:(html,PHP,json,.net,Blog)