jqGrid 最常用的属性和事件,供平时参考(转)

[html]
<html>
 ...
 <table id="list1"></table>
 <div id="pager1"></div>
 ...
 <table id="list5"></table>
 <div id="pager5"></div> <br />
 <a href="#" id="a1">Get data from selected row</a>
 <br />
 <a href="#" id="a2">Delete row 2</a>
 <br />
 <a href="#" id="a3">Update amounts in row 1</a>
 <br />
 <a href="#" id="a4">Add row with id 99</a>
 ...
 <table id="list6"></table>
 <div id="pager6"></div> <br />
 <a href="javascript:void(0)" id="g1" onclick="alert(jQuery(‘#list6‘).jqGrid(‘getGridParam‘,‘url‘));">Get url</a>
 <br />
 <a href="javascript:void(0)" id="g2" onclick="alert(jQuery(‘#list6‘).jqGrid(‘getGridParam‘,‘sortname‘));">Get Sort Name</a>   www.2cto.com
 <br />
 <a href="javascript:void(0)" id="g3" onclick="alert(jQuery(‘#list6‘)jqGrid(‘getGridParam‘,‘sortorder‘));">Get Sort Order</a>
 <br />
 <a href="javascript:void(0)" id="g4" onclick="alert(jQuery(‘#list6‘)jqGrid(‘getGridParam‘,‘selrow‘));">Get Selected Row</a>
 <br />
 <a href="javascript:void(0)" id="g5" onclick="alert(jQuery(‘#list6‘)jqGrid(‘getGridParam‘,‘page‘));">Get Current Page</a>
 <br />
 <a href="javascript:void(0)" id="g6" onclick="alert(jQuery(‘#list6‘).jqGrid(‘getGridParam‘,‘rowNum‘));">Get Number of Rows requested</a>
 <br />
 <a href="javascript:void(0)" id="g7" onclick="alert(‘See Multi select rows example‘);">Get Selected Rows</a>
 <br />
 <a href="javascript:void(0)" id="g8" onclick="alert(jQuery(‘#list6‘).jqGrid(‘getGridParam‘,‘datatype‘));">Get Data Type requested</a>
 <br />
 <a href="javascript:void(0)" id="g9" onclick="alert(jQuery(‘#list6‘).jqGrid(‘getGridParam‘,‘records‘));">Get number of records in Grid</a>
 ...
 <table id="list7"></table>
 <div id="pager7"></div>
 <br />
 <a href="javascript:void(0)" id="s1">Set new url</a>
 <br />
 <a href="javascript:void(0)" id="s2">Set Sort to amount column</a>
 <br />
 <a href="javascript:void(0)" id="s3" >Set Sort new Order</a>
 <br />
 <a href="javascript:void(0)" id="s4">Set to view second Page</a>
 <br />
 <a href="javascript:void(0)" id="s5">Set new Number of Rows(15)</a>
 <br />
 <a href="javascript:void(0)" id="s6" >Set Data Type from json to xml</a>
  ...
  <table id="list9"></table>
  <div id="pager9"></div>
  <br />
  <a href="javascript:void(0)" id="m1">Get Selected id‘s</a>
  <a href="javascript:void(0)" id="m1s">Select(Unselect) row 13</a>
  ...
  Invoice Header
  <table id="list10"></table>
  <div id="pager10"></div>
  <br />
  Invoice Detail
  <table id="list10_d"></table>
  <div id="pager10_d"></div>
  <a href="javascript:void(0)" id="ms1">Get Selected id‘s</a>
  ...
  <table id="list11">
  </table> <div id="pager11"></div>
  <script src="subgrid.js" type="text/javascript"> </script>  

  ...
  <div class="h">Search By:</div>
  <div>
    <input type="checkbox" id="autosearch" onclick="enableAutosubmit(this.checked)"> Enable Autosearch
    <br/>
    Code
    <br />
    <input type="text" id="search_cd" onkeydown="doSearch(arguments[0]||event)" />
  </div>
  <div> Name<br>
    <input type="text" id="item" onkeydown="doSearch(arguments[0]||event)" />
    <button onclick="gridReload()" id="submitButton" style="margin-left:30px;">Search</button>
  </div>
  <br />
  <table id="bigset"></table>
  <div id="pagerb"></div>
  <script src="bigset.js" type="text/javascript"> </script>  

  ...
  <table id="list13"></table>
  <div id="pager13"></div> <br />
  <a href="javascript:void(0)" id="cm1">Get Selected id‘s</a>
  <a href="javascript:void(0)" id="cm1s">Select(Unselect) row 13</a>
  <script src="cmultiex.js" type="text/javascript"> </script>  

  ...
  <table id="list15"></table>
  <div id="pager15"></div>
  <a href="javascript:void(0)" id="sids">Get Grid id‘s</a>
  <br/>  

  ...
  <table id="list17"></table>
  <div id="pager17"></div>
  <a href="javascript:void(0)" id="hc">Hide column Tax</a>
  <br/>
  <a href="javascript:void(0)" id="sc">Show column Tax</a>
</html>  

<html>
 ...
 <table id="list1"></table>
 <div id="pager1"></div>
 ...
 <table id="list5"></table>
 <div id="pager5"></div> <br />
 <a href="#" id="a1">Get data from selected row</a>
 <br />
 <a href="#" id="a2">Delete row 2</a>
 <br />
 <a href="#" id="a3">Update amounts in row 1</a>
 <br />
 <a href="#" id="a4">Add row with id 99</a>
 ...
 <table id="list6"></table>
 <div id="pager6"></div> <br />
 <a href="javascript:void(0)" id="g1" onclick="alert(jQuery(‘#list6‘).jqGrid(‘getGridParam‘,‘url‘));">Get url</a>
 <br />
 <a href="javascript:void(0)" id="g2" onclick="alert(jQuery(‘#list6‘).jqGrid(‘getGridParam‘,‘sortname‘));">Get Sort Name</a>
 <br />
 <a href="javascript:void(0)" id="g3" onclick="alert(jQuery(‘#list6‘)jqGrid(‘getGridParam‘,‘sortorder‘));">Get Sort Order</a>
 <br />
 <a href="javascript:void(0)" id="g4" onclick="alert(jQuery(‘#list6‘)jqGrid(‘getGridParam‘,‘selrow‘));">Get Selected Row</a>
 <br />
 <a href="javascript:void(0)" id="g5" onclick="alert(jQuery(‘#list6‘)jqGrid(‘getGridParam‘,‘page‘));">Get Current Page</a>
 <br />
 <a href="javascript:void(0)" id="g6" onclick="alert(jQuery(‘#list6‘).jqGrid(‘getGridParam‘,‘rowNum‘));">Get Number of Rows requested</a>
 <br />
 <a href="javascript:void(0)" id="g7" onclick="alert(‘See Multi select rows example‘);">Get Selected Rows</a>
 <br />
 <a href="javascript:void(0)" id="g8" onclick="alert(jQuery(‘#list6‘).jqGrid(‘getGridParam‘,‘datatype‘));">Get Data Type requested</a>
 <br />
 <a href="javascript:void(0)" id="g9" onclick="alert(jQuery(‘#list6‘).jqGrid(‘getGridParam‘,‘records‘));">Get number of records in Grid</a>
 ...
 <table id="list7"></table>
 <div id="pager7"></div>
 <br />
 <a href="javascript:void(0)" id="s1">Set new url</a>
 <br />
 <a href="javascript:void(0)" id="s2">Set Sort to amount column</a>
 <br />
 <a href="javascript:void(0)" id="s3" >Set Sort new Order</a>
 <br />
 <a href="javascript:void(0)" id="s4">Set to view second Page</a>
 <br />
 <a href="javascript:void(0)" id="s5">Set new Number of Rows(15)</a>
 <br />
 <a href="javascript:void(0)" id="s6" >Set Data Type from json to xml</a>
  ...
  <table id="list9"></table>
  <div id="pager9"></div>
  <br />
  <a href="javascript:void(0)" id="m1">Get Selected id‘s</a>
  <a href="javascript:void(0)" id="m1s">Select(Unselect) row 13</a>
  ...
  Invoice Header
  <table id="list10"></table>
  <div id="pager10"></div>
  <br />
  Invoice Detail
  <table id="list10_d"></table>
  <div id="pager10_d"></div>
  <a href="javascript:void(0)" id="ms1">Get Selected id‘s</a>
  ...
  <table id="list11">
  </table> <div id="pager11"></div>
  <script src="subgrid.js" type="text/javascript"> </script>

  ...
  <div class="h">Search By:</div>
  <div>
<input type="checkbox" id="autosearch" onclick="enableAutosubmit(this.checked)"> Enable Autosearch
<br/>
Code
<br />
<input type="text" id="search_cd" onkeydown="doSearch(arguments[0]||event)" />
  </div>
  <div> Name<br>
<input type="text" id="item" onkeydown="doSearch(arguments[0]||event)" />
<button onclick="gridReload()" id="submitButton" style="margin-left:30px;">Search</button>
  </div>
  <br />
  <table id="bigset"></table>
  <div id="pagerb"></div>
  <script src="bigset.js" type="text/javascript"> </script>

  ...
  <table id="list13"></table>
  <div id="pager13"></div> <br />
  <a href="javascript:void(0)" id="cm1">Get Selected id‘s</a>
  <a href="javascript:void(0)" id="cm1s">Select(Unselect) row 13</a>
  <script src="cmultiex.js" type="text/javascript"> </script>

  ...
  <table id="list15"></table>
  <div id="pager15"></div>
  <a href="javascript:void(0)" id="sids">Get Grid id‘s</a>
  <br/>

  ...
  <table id="list17"></table>
  <div id="pager17"></div>
  <a href="javascript:void(0)" id="hc">Hide column Tax</a>
  <br/>
  <a href="javascript:void(0)" id="sc">Show column Tax</a>
</html>
[javascript]
<script type="text/javascript">
    jQuery().ready(function (){
        //父Grid(主Grid)
        jQuery("#list1").jqGrid({
            url:‘server.php?q=1‘,
            //editurl:"someurl.php",
            datatype: "json", //数据类型 datatype: "local", datatype: "xml",
            colNames:[‘Inv No‘,‘Date‘, ‘Client‘, ‘Amount‘,‘Tax‘,‘Total‘,‘Notes‘],
            colModel:[
                {name:‘id‘,index:‘id‘, width:75},
                {name:‘invdate‘,index:‘invdate‘, width:90},
                {name:‘name‘,index:‘name‘, width:100},
                {name:‘amount‘,index:‘amount‘, width:80, align:"right"},
                {name:‘tax‘,index:‘tax‘, width:80, align:"right"},
                {name:‘total‘,index:‘total‘, width:80,align:"right"},
                {name:‘note‘,index:‘note‘, width:150, sortable:false}
            ],
            rowNum:10, //每页数据显示条数
            rowList:[10,20,30], //每页数据显示条数
            pager: jQuery(‘#pager1‘), //Grid显示在id为pager1的div里面
            sortname: ‘id‘, //根据ID排序
            viewrecords: true, //显示数据总记录数
            sortorder: "desc", //倒序
            hidegrid: false, //Grid是否隐藏
            autowidth: true, //自动列宽
            width: 500, //Grid 宽度
            height: 200, //行高 height: "100%",
            multiselect: true, //复选框
            recordpos: ‘left‘, //总记录显示位置:居左
            mtype: "POST",
            pgbuttons: false,
            pgtext: false,
            pginput: false,
            multikey: "ctrlKey",
            onSortCol: function(name,index){
                //点击排序列,根据哪列排序
                alert("Column Name: "+name+" Column Index: "+index);
            },
            ondblClickRow: function(id){
                //双击行
                alert("You double click row with id: "+id);
            },
            onSelectRow: function(ids) { //单击选择行
                if(ids == null) {
                    ids=0;
                    if(jQuery("#list10_d").jqGrid(‘getGridParam‘,‘records‘) >0 ) {
                        jQuery("#list10_d").jqGrid(‘setGridParam‘,{url:"subgrid.php?q=1&id="+ids,page:1});
                        jQuery("#list10_d").jqGrid(‘setCaption‘,"Invoice Detail: "+ids) .trigger(‘reloadGrid‘);
                    }
                } else {
                    jQuery("#list10_d").jqGrid(‘setGridParam‘,{url:"subgrid.php?q=1&id="+ids,page:1});
                    jQuery("#list10_d").jqGrid(‘setCaption‘,"Invoice Detail: "+ids) .trigger(‘reloadGrid‘);
                }
            },
            subGrid : true, //显示内部Grid(次Grid),单击行展开嵌套Grid
            subGridUrl: ‘subgrid.php?q=2‘, //内部Grid URL
            subGridModel: [ { //内部Grid列
                name : [‘No‘,‘Item‘,‘Qty‘,‘Unit‘,‘Line Total‘],
                width : [55,200,80,80,80],
                params: [‘invdate‘] //嵌套Grid参数
            } ],
            subGridRowExpanded: function(subgrid_id, row_id) { //Grid内部嵌套Grid
                // we pass two parameters
                // subgrid_id is a id of the div tag created whitin a table data
                // the id of this elemenet is a combination of the "sg_" + id of the row
                // the row_id is the id of the row // If we wan to pass additinal parameters to the url we can use
                // a method getRowData(row_id) - which returns associative array in type name-value
                // here we can easy construct the flowing
                var subgrid_table_id, pager_id;
                subgrid_table_id = subgrid_id+"_t";
                pager_id = "p_"+subgrid_table_id;
                $("#"+subgrid_id).html("<table id=‘"+subgrid_table_id+"‘ class=‘scroll‘></table><div id=‘"+pager_id+"‘ class=‘scroll‘></div>");
                jQuery("#"+subgrid_table_id).jqGrid({
                    url:"subgrid.php?q=2&id="+row_id,
                    datatype: "xml",
                    colNames: [‘No‘,‘Item‘,‘Qty‘,‘Unit‘,‘Line Total‘],
                    colModel: [
                        {name:"num",index:"num",width:80,key:true},
                        {name:"item",index:"item",width:130},
                        {name:"qty",index:"qty",width:70,align:"right"},
                        {name:"unit",index:"unit",width:70,align:"right"},
                        {name:"total",index:"total",width:70,align:"right",sortable:false}
                    ],
                    rowNum:20,
                    pager: pager_id,
                    sortname: ‘num‘,
                    sortorder: "asc",
                    height: ‘100%‘ //自动适应行高
                });
                jQuery("#"+subgrid_table_id).jqGrid(‘navGrid‘,"#"+pager_id,{edit:false,add:false,del:false});
            },
            subGridRowColapsed: function(subgrid_id, row_id) {
                // this function is called before removing the data
                //var subgrid_table_id;
                //subgrid_table_id = subgrid_id+"_t";
                //jQuery("#"+subgrid_table_id).remove();
            },
            loadComplete: function(){ //加载完成(初始加载),回调函数
                var ret;
                alert("This function is executed immediately after\n data is loaded. We try to update data in row 13.");
                ret = jQuery("#list15").jqGrid(‘getRowData‘,"13");
                if(ret.id == "13"){
                    jQuery("#list15").jqGrid(‘setRowData‘,ret.id,{note:"<font color=‘red‘>Row 13 is updated!</font>"})
                }
            },
            caption:"Grid Example" //Grid名称
        }).navGrid(‘#pager1‘,{edit:false,add:false,del:false});
        //jQuery("#list6").jqGrid(‘navGrid‘,"#pager6",{edit:false,add:false,del:false}); = .navGrid(‘#pager1‘,{edit:false,add:false,del:false});
        //添加查询文本框
        jQuery("#list7").jqGrid(‘navGrid‘,‘#pager7‘,{edit:false,add:false,del:false,refresh:false,searchtext:"Find"});
        //查询和刷新按钮居右
        jQuery("#list9").jqGrid(‘navGrid‘,‘#pager9‘,{add:false,del:false,edit:false,position:‘right‘});
        //编辑行,添加Add、Edit、Save、Cancel按钮 //<script src="rowedex3.js" type="text/javascript"> </script>
        jQuery("#43rowed3").jqGrid(‘inlineNav‘,"#p43rowed3");   //<table id="rowed3"></table> <div id="prowed3"></div>   

        //子Grid
        jQuery("#list10_d").jqGrid({
            height: 100,
            url:‘subgrid.php?q=1&id=0‘,
            datatype: "json",
            colNames:[
                ‘No‘,‘Item‘, ‘Qty‘, ‘Unit‘,‘Line Total‘
            ],
            colModel:[
                {name:‘num‘,index:‘num‘, width:55},
                {name:‘item‘,index:‘item‘, width:180},
                {name:‘qty‘,index:‘qty‘, width:80, align:"right"},
                {name:‘unit‘,index:‘unit‘, width:80, align:"right"},
                {name:‘linetotal‘,index:‘linetotal‘, width:80,align:"right", sortable:false, search:false}
            ],
            rowNum:5,
            rowList:[5,10,20],
            pager: ‘#pager10_d‘,
            sortname: ‘item‘,
            viewrecords: true,
            sortorder: "asc",
            multiselect: true,
            caption:"Invoice Detail"
        }).navGrid(‘#pager10_d‘,{add:false,edit:false,del:false});  

        jQuery("#a1").click( function(){
            //获取Grid中选中的行id
            var id = jQuery("#list5").jqGrid(‘getGridParam‘,‘selrow‘);
            if (id) {
                var ret = jQuery("#list5").jqGrid(‘getRowData‘,id);
                alert("id="+ret.id+" invdate="+ret.invdate+"...");
            } else {
                alert("Please select row");
            }
        });
        jQuery("#a2").click( function(){
            //删除第12行
            var su=jQuery("#list5").jqGrid(‘delRowData‘,12);
            if(su)
                alert("Succes. Write custom code to delete row from server");
            else
                alert("Allready deleted or not in list");
        });
        jQuery("#a3").click( function(){
            //修改第11行
            var su=jQuery("#list5").jqGrid(‘setRowData‘,11,{amount:"333.00",tax:"33.00",total:"366.00",note:"<img src=‘images/user1.gif‘/>"});
            if(su)
                alert("Succes. Write custom code to update row in server");
            else
                alert("Can not update");
        });
        jQuery("#a4").click( function(){
            //添加第99行(id为99的)
            var datarow = {id:"99",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"};
            var su=jQuery("#list5").jqGrid(‘addRowData‘,99,datarow);
            if(su)
                alert("Succes. Write custom code to add data in server");
            else
                alert("Can not update");
        });  

        jQuery("#s1").click( function() {
            //设置URL
            jQuery("#list7").jqGrid(‘setGridParam‘,{url:"server.php?q=2"}).trigger("reloadGrid");
        });
        jQuery("#s2").click( function() {
            //设置排序列
            jQuery("#list7").jqGrid(‘setGridParam‘,{sortname:"amount",sortorder:"asc"}).trigger("reloadGrid");
        });
        jQuery("#s3").click( function() {
            //设置升序或倒序
            var so = jQuery("#list7").jqGrid(‘getGridParam‘,‘sortorder‘);
            so = so=="asc"?"desc":"asc";
            jQuery("#list7").jqGrid(‘setGridParam‘,{sortorder:so}).trigger("reloadGrid");
        });
        jQuery("#s4").click( function() {
            //跳转到第二页
            jQuery("#list7").jqGrid(‘setGridParam‘,{page:2}).trigger("reloadGrid");
        });
        jQuery("#s5").click( function() {
            //设置每页显示15行
            jQuery("#list7").jqGrid(‘setGridParam‘,{rowNum:15}).trigger("reloadGrid");
        });
        jQuery("#s6").click( function() {
            //设置URL和数据格式
            jQuery("#list7").jqGrid(‘setGridParam‘,{url:"server.php?q=1",datatype:"xml"}).trigger("reloadGrid");
        });
        jQuery("#s7").click( function() {
            //设置Grid的名称
            jQuery("#list7").jqGrid(‘setCaption‘,"New Caption");
        });
        jQuery("#s8").click( function() {
            //设置Grid排序字段,根据名称排序
            jQuery("#list7").jqGrid(‘sortGrid‘,"name",false);
        });
        jQuery("#m1").click( function() {
            //获取复选框被选中的id
            var s = jQuery("#list9").jqGrid(‘getGridParam‘,‘selarrrow‘);
            alert(s);
        });
        jQuery("#m1s").click( function() {
            //设置选中第13行
            jQuery("#list9").jqGrid(‘setSelection‘,"13");
        });
        jQuery("#ms1").click( function() {
            var s = jQuery("#list10_d").jqGrid(‘getGridParam‘,‘selarrrow‘);
            alert(s);
        });  

        //Grid 查询
        var timeoutHnd;
        var flAuto = false;
        function doSearch(ev){
            if(!flAuto)
                return;
            // var elem = ev.target||ev.srcElement;
            if(timeoutHnd)
                clearTimeout(timeoutHnd)
            timeoutHnd = setTimeout(gridReload,500)
        }
        function gridReload(){
            var nm_mask = jQuery("#item_nm").val();
            var cd_mask = jQuery("#search_cd").val();
            jQuery("#bigset").jqGrid(‘setGridParam‘,{url:"bigset.php?nm_mask="+nm_mask+"&cd_mask="+cd_mask,page:1}).trigger("reloadGrid");
        }
        function enableAutosubmit(state){
            flAuto = state;
            jQuery("#submitButton").attr("disabled",state);
        }  

        jQuery("#cm1").click( function() {
            //显示选中行
            var s;
            s = jQuery("#list13").jqGrid(‘getGridParam‘,‘selarrrow‘);
            alert(s);
        });
        jQuery("#cm1s").click( function() {
            //选中编号为13的行
            jQuery("#list13").jqGrid(‘setSelection‘,"13");
        });
        jQuery("#list13").jqGrid(‘navGrid‘,‘#pager13‘,{add:false,edit:false,del:false},
            {}, // edit parameters
            {}, // add parameters
            {reloadAfterSubmit:false} //delete parameters
        );  

        jQuery("#sids").click( function() {
            //获取Grid中当页的所有ID
            alert("Id‘s of Grid: \n"+jQuery("#list15").jqGrid(‘getDataIDs‘));
        });  

        jQuery("#hc").click( function() {
            //隐藏tax列
            jQuery("#list17").jqGrid(‘navGrid‘,‘hideCol‘,"tax");
        });
        jQuery("#sc").click( function() {
            //显示tax列
            jQuery("#list17").jqGrid(‘navGrid‘,‘showCol‘,"tax");
        });
    })
</script>  

//本地数组数据:datatype: "local",
var mydata = [
        {id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
                {id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
                {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
                {id:"4",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
                {id:"5",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
                {id:"6",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
                {id:"7",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
                {id:"8",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
                {id:"9",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}
    ];
for(var i=0;i<=mydata.length;i++)
    jQuery("#list4").jqGrid(‘addRowData‘,i+1,mydata[i]);  

<script type="text/javascript">
jQuery().ready(function (){
//父Grid(主Grid)
jQuery("#list1").jqGrid({
url:‘server.php?q=1‘,
//editurl:"someurl.php",
datatype: "json", //数据类型 datatype: "local", datatype: "xml",
colNames:[‘Inv No‘,‘Date‘, ‘Client‘, ‘Amount‘,‘Tax‘,‘Total‘,‘Notes‘],
colModel:[
{name:‘id‘,index:‘id‘, width:75},
{name:‘invdate‘,index:‘invdate‘, width:90},
{name:‘name‘,index:‘name‘, width:100},
{name:‘amount‘,index:‘amount‘, width:80, align:"right"},
{name:‘tax‘,index:‘tax‘, width:80, align:"right"},
{name:‘total‘,index:‘total‘, width:80,align:"right"},
{name:‘note‘,index:‘note‘, width:150, sortable:false}
],
rowNum:10, //每页数据显示条数
rowList:[10,20,30], //每页数据显示条数
pager: jQuery(‘#pager1‘), //Grid显示在id为pager1的div里面
sortname: ‘id‘, //根据ID排序
viewrecords: true, //显示数据总记录数
sortorder: "desc", //倒序
hidegrid: false, //Grid是否隐藏
autowidth: true, //自动列宽
width: 500, //Grid 宽度
height: 200, //行高 height: "100%",
multiselect: true, //复选框
recordpos: ‘left‘, //总记录显示位置:居左
mtype: "POST",
pgbuttons: false,
pgtext: false,
pginput: false,
multikey: "ctrlKey",
onSortCol: function(name,index){
//点击排序列,根据哪列排序
alert("Column Name: "+name+" Column Index: "+index);
},
ondblClickRow: function(id){
//双击行
alert("You double click row with id: "+id);
},
onSelectRow: function(ids) { //单击选择行
if(ids == null) {
ids=0;
if(jQuery("#list10_d").jqGrid(‘getGridParam‘,‘records‘) >0 ) {
jQuery("#list10_d").jqGrid(‘setGridParam‘,{url:"subgrid.php?q=1&id="+ids,page:1});
jQuery("#list10_d").jqGrid(‘setCaption‘,"Invoice Detail: "+ids) .trigger(‘reloadGrid‘);
}
} else {
jQuery("#list10_d").jqGrid(‘setGridParam‘,{url:"subgrid.php?q=1&id="+ids,page:1});
jQuery("#list10_d").jqGrid(‘setCaption‘,"Invoice Detail: "+ids) .trigger(‘reloadGrid‘);
}
},
subGrid : true, //显示内部Grid(次Grid),单击行展开嵌套Grid
subGridUrl: ‘subgrid.php?q=2‘, //内部Grid URL
subGridModel: [ { //内部Grid列
name : [‘No‘,‘Item‘,‘Qty‘,‘Unit‘,‘Line Total‘],
width : [55,200,80,80,80],
params: [‘invdate‘] //嵌套Grid参数
} ],
subGridRowExpanded: function(subgrid_id, row_id) { //Grid内部嵌套Grid
// we pass two parameters
// subgrid_id is a id of the div tag created whitin a table data
// the id of this elemenet is a combination of the "sg_" + id of the row
// the row_id is the id of the row // If we wan to pass additinal parameters to the url we can use
// a method getRowData(row_id) - which returns associative array in type name-value
// here we can easy construct the flowing
var subgrid_table_id, pager_id;
subgrid_table_id = subgrid_id+"_t";
pager_id = "p_"+subgrid_table_id;
$("#"+subgrid_id).html("<table id=‘"+subgrid_table_id+"‘ class=‘scroll‘></table><div id=‘"+pager_id+"‘ class=‘scroll‘></div>");
jQuery("#"+subgrid_table_id).jqGrid({
url:"subgrid.php?q=2&id="+row_id,
datatype: "xml",
colNames: [‘No‘,‘Item‘,‘Qty‘,‘Unit‘,‘Line Total‘],
colModel: [
{name:"num",index:"num",width:80,key:true},
{name:"item",index:"item",width:130},
{name:"qty",index:"qty",width:70,align:"right"},
{name:"unit",index:"unit",width:70,align:"right"},
{name:"total",index:"total",width:70,align:"right",sortable:false}
],
rowNum:20,
pager: pager_id,
sortname: ‘num‘,
sortorder: "asc",
height: ‘100%‘ //自动适应行高
});
jQuery("#"+subgrid_table_id).jqGrid(‘navGrid‘,"#"+pager_id,{edit:false,add:false,del:false});
},
subGridRowColapsed: function(subgrid_id, row_id) {
// this function is called before removing the data
//var subgrid_table_id;
//subgrid_table_id = subgrid_id+"_t";
//jQuery("#"+subgrid_table_id).remove();
},
loadComplete: function(){ //加载完成(初始加载),回调函数
var ret;
alert("This function is executed immediately after\n data is loaded. We try to update data in row 13.");
ret = jQuery("#list15").jqGrid(‘getRowData‘,"13");
if(ret.id == "13"){
jQuery("#list15").jqGrid(‘setRowData‘,ret.id,{note:"<font color=‘red‘>Row 13 is updated!</font>"})
}
},
caption:"Grid Example" //Grid名称
}).navGrid(‘#pager1‘,{edit:false,add:false,del:false});
//jQuery("#list6").jqGrid(‘navGrid‘,"#pager6",{edit:false,add:false,del:false}); = .navGrid(‘#pager1‘,{edit:false,add:false,del:false});
//添加查询文本框
jQuery("#list7").jqGrid(‘navGrid‘,‘#pager7‘,{edit:false,add:false,del:false,refresh:false,searchtext:"Find"});
//查询和刷新按钮居右
jQuery("#list9").jqGrid(‘navGrid‘,‘#pager9‘,{add:false,del:false,edit:false,position:‘right‘});
//编辑行,添加Add、Edit、Save、Cancel按钮 //<script src="rowedex3.js" type="text/javascript"> </script>
jQuery("#43rowed3").jqGrid(‘inlineNav‘,"#p43rowed3"); //<table id="rowed3"></table> <div id="prowed3"></div>

//子Grid
jQuery("#list10_d").jqGrid({
height: 100,
url:‘subgrid.php?q=1&id=0‘,
datatype: "json",
colNames:[
‘No‘,‘Item‘, ‘Qty‘, ‘Unit‘,‘Line Total‘
],
colModel:[
{name:‘num‘,index:‘num‘, width:55},
{name:‘item‘,index:‘item‘, width:180},
{name:‘qty‘,index:‘qty‘, width:80, align:"right"},
{name:‘unit‘,index:‘unit‘, width:80, align:"right"},
{name:‘linetotal‘,index:‘linetotal‘, width:80,align:"right", sortable:false, search:false}
],
rowNum:5,
rowList:[5,10,20],
pager: ‘#pager10_d‘,
sortname: ‘item‘,
viewrecords: true,
sortorder: "asc",
multiselect: true,
caption:"Invoice Detail"
}).navGrid(‘#pager10_d‘,{add:false,edit:false,del:false});

jQuery("#a1").click( function(){
//获取Grid中选中的行id
var id = jQuery("#list5").jqGrid(‘getGridParam‘,‘selrow‘);
if (id) {
var ret = jQuery("#list5").jqGrid(‘getRowData‘,id);
alert("id="+ret.id+" invdate="+ret.invdate+"...");
} else {
alert("Please select row");
}
});
jQuery("#a2").click( function(){
//删除第12行
var su=jQuery("#list5").jqGrid(‘delRowData‘,12);
if(su)
alert("Succes. Write custom code to delete row from server");
else
alert("Allready deleted or not in list");
});
jQuery("#a3").click( function(){
//修改第11行
var su=jQuery("#list5").jqGrid(‘setRowData‘,11,{amount:"333.00",tax:"33.00",total:"366.00",note:"<img src=‘images/user1.gif‘/>"});
if(su)
alert("Succes. Write custom code to update row in server");
else
alert("Can not update");
});
jQuery("#a4").click( function(){
//添加第99行(id为99的)
var datarow = {id:"99",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"};
var su=jQuery("#list5").jqGrid(‘addRowData‘,99,datarow);
if(su)
alert("Succes. Write custom code to add data in server");
else
alert("Can not update");
});

jQuery("#s1").click( function() {
//设置URL
jQuery("#list7").jqGrid(‘setGridParam‘,{url:"server.php?q=2"}).trigger("reloadGrid");
});
jQuery("#s2").click( function() {
//设置排序列
jQuery("#list7").jqGrid(‘setGridParam‘,{sortname:"amount",sortorder:"asc"}).trigger("reloadGrid");
});
jQuery("#s3").click( function() {
//设置升序或倒序
var so = jQuery("#list7").jqGrid(‘getGridParam‘,‘sortorder‘);
so = so=="asc"?"desc":"asc";
jQuery("#list7").jqGrid(‘setGridParam‘,{sortorder:so}).trigger("reloadGrid");
});
jQuery("#s4").click( function() {
//跳转到第二页
jQuery("#list7").jqGrid(‘setGridParam‘,{page:2}).trigger("reloadGrid");
});
jQuery("#s5").click( function() {
//设置每页显示15行
jQuery("#list7").jqGrid(‘setGridParam‘,{rowNum:15}).trigger("reloadGrid");
});
jQuery("#s6").click( function() {
//设置URL和数据格式
jQuery("#list7").jqGrid(‘setGridParam‘,{url:"server.php?q=1",datatype:"xml"}).trigger("reloadGrid");
});
jQuery("#s7").click( function() {
//设置Grid的名称
jQuery("#list7").jqGrid(‘setCaption‘,"New Caption");
});
jQuery("#s8").click( function() {
//设置Grid排序字段,根据名称排序
jQuery("#list7").jqGrid(‘sortGrid‘,"name",false);
});
jQuery("#m1").click( function() {
//获取复选框被选中的id
var s = jQuery("#list9").jqGrid(‘getGridParam‘,‘selarrrow‘);
alert(s);
});
jQuery("#m1s").click( function() {
//设置选中第13行
jQuery("#list9").jqGrid(‘setSelection‘,"13");
});
jQuery("#ms1").click( function() {
var s = jQuery("#list10_d").jqGrid(‘getGridParam‘,‘selarrrow‘);
alert(s);
});

//Grid 查询
var timeoutHnd;
var flAuto = false;
function doSearch(ev){
if(!flAuto)
return;
// var elem = ev.target||ev.srcElement;
if(timeoutHnd)
clearTimeout(timeoutHnd)
timeoutHnd = setTimeout(gridReload,500)
}
function gridReload(){
var nm_mask = jQuery("#item_nm").val();
var cd_mask = jQuery("#search_cd").val();
jQuery("#bigset").jqGrid(‘setGridParam‘,{url:"bigset.php?nm_mask="+nm_mask+"&cd_mask="+cd_mask,page:1}).trigger("reloadGrid");
}
function enableAutosubmit(state){
flAuto = state;
jQuery("#submitButton").attr("disabled",state);
}

jQuery("#cm1").click( function() {
//显示选中行
var s;
s = jQuery("#list13").jqGrid(‘getGridParam‘,‘selarrrow‘);
alert(s);
});
jQuery("#cm1s").click( function() {
//选中编号为13的行
jQuery("#list13").jqGrid(‘setSelection‘,"13");
});
jQuery("#list13").jqGrid(‘navGrid‘,‘#pager13‘,{add:false,edit:false,del:false},
{}, // edit parameters
{}, // add parameters
{reloadAfterSubmit:false} //delete parameters
);

jQuery("#sids").click( function() {
//获取Grid中当页的所有ID
alert("Id‘s of Grid: \n"+jQuery("#list15").jqGrid(‘getDataIDs‘));
});

jQuery("#hc").click( function() {
//隐藏tax列
jQuery("#list17").jqGrid(‘navGrid‘,‘hideCol‘,"tax");
});
jQuery("#sc").click( function() {
//显示tax列
jQuery("#list17").jqGrid(‘navGrid‘,‘showCol‘,"tax");
});
})
</script>

//本地数组数据:datatype: "local",
var mydata = [
{id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
                {id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
                {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
                {id:"4",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
                {id:"5",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
                {id:"6",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
                {id:"7",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
                {id:"8",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
                {id:"9",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}
];
for(var i=0;i<=mydata.length;i++)
jQuery("#list4").jqGrid(‘addRowData‘,i+1,mydata[i]);

转自:http://www.2cto.com/kf/201212/177941.html

时间: 2024-08-05 19:35:50

jqGrid 最常用的属性和事件,供平时参考(转)的相关文章

[转]jqGrid 属性、事件全集

本文转自:http://blog.csdn.net/rosanu_blog/article/details/8334070 以下是jqGrid 最常用的属性和事件,经过一段时间的整理,终于弄的差不多了.版权所有,转载请注明出处,向您的厚道致敬!谢谢! [javascript] view plain copy print? <script type="text/javascript"> var lastsel; jQuery().ready(function () { //父

Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数、ColModel API、事件及方法

系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件及方法 Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页.搜索.格式化.自定义按钮 Web jquery表格组件 JQGrid 的使用 - 6.准备工作 & Hello JQGrid Web jquery表格组件 JQGrid 的使用 - 7.查询数据.编辑数据.删除数据

javascript中常用坐标属性offset、scroll、client

原文:javascript中常用坐标属性offset.scroll.client 今天在学习js的时候觉得这个问题比较容易搞混,所以自己画了一个简单的图,并且用js控制台里面输出测试了下,便于理解. 1.在文档(document)对象里面用: scrollWidth/Height:获取对象的滚动宽度(滚动条可以滚动的宽度,相当于整个页面的总宽度的样子--网页正文全宽) scrollLeft/Top:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离(页面利用滚动条滚动到右边时,隐藏在

winform 常用窗体属性

WinForm常用窗体属性: Form常用属性 AutoSizeMode属性 :值是: GrowAndShrink不能调整窗体大小 :值是:GrowOnly 可以改变大小 (1)Name属性:用来获取或设置窗体的名称. (2)WindowState属性:用来获取或设置窗体的窗口状态. (3)StartPosition属性:用来获取或设置运行时窗体的起始位置. (4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字. (5)Width属性:用来获取或设置窗体的宽度. (

css常用样式属性详细介绍

对于初学css的来说,肯定会觉得这么多样式不好记,而且记住了也容易忘,其实刚开始我们不用去记这么多的样式,确实是记了也会忘,刚开始只需记住一些常用的就可以了,然后在慢慢的使用过程当中接触并学习一些高级点的,这才是一个靠谱的渐进过程,下面列出一些css常用属性,仅供参考 “文字”属性共有8项: 1.“字体”(font-family),设定时,需考虑浏览器中有无该字体. 2.“大小”(font-size),注意度量单位. 3.“粗细”(font-weight),除了normal(正常).bold(粗

HTML5全局属性和事件

全局属性和事件能够应用到所有标签元素上,在HTML4中有许多全局属性,比如id,class等.HTML5中又新增了一些特殊功能的全局属性和事件. 属性: HTML5属性能够赋给标签元素含义和语境,下面的全局属性可用于任何 HTML5 元素. 属性 描述 contenteditable 规定是否允许用户编辑内容. contextmenu 规定元素的上下文菜单. draggable 规定是否允许用户拖动元素. dropzone 规定当被拖动的项目/数据被拖放到元素中时会发生什么. hidden 规定

combobox 属性、事件、方法

一 .combobox 属性.事件.方法公共属性 名称 说明 AccessibilityObject 获取分配给该控件的 AccessibleObject. AccessibleDefaultActionDescription 获取或设置控件的默认操作说明,供辅助功能客户端应用程序使用. AccessibleDescription 获取或设置辅助功能客户端应用程序使用的控件说明. AccessibleName 获取或设置辅助功能客户端应用程序所使用的控件名称. AccessibleRole 获取

delphi控件属性和事件

常用[属性] Action:该属性是与组件关联的行为,允许应用程序集中响应用户命令 Anchors:与组件连接的窗体的位置点 Align:确定组件的对齐方式 AutoSize:确定组件是否自动调整其大小 BiDiMode:(所有组件) 为从右向左写的语言提供支持 BoundsRect:定义组件边框矩形(只适用于运行时) Borderwidth:(窗口化组件)边框的宽度 BorberStyle:设置组件边框形状(样式) Brush:可确定组件的风格和颜色 Caption:使用该属性可指定标注组件的

HTML 5 全局属性和事件属性

1.HTML 5 全局属性 HTML 属性能够赋予元素含义和语境. 下面的全局属性可用于任何 HTML5 元素. NEW:HTML 5 中新的全局属性. 属性 描述 accesskey 规定访问元素的键盘快捷键 class 规定元素的类名(用于规定样式表中的类). contenteditable 规定是否允许用户编辑内容. contextmenu 规定元素的上下文菜单. dir 规定元素中内容的文本方向. draggable 规定是否允许用户拖动元素. dropzone 规定当被拖动的项目/数据