jQuery jqGrid是一個優秀的表格插件,在進行表格數據展示的時候,經常會涉及到行號,這個時候需要用到jqGrid提供的序號列。下面我們來談一談使用該列的具體實現。
首先,在colModel屬性中添加index屬性,該屬性映射到后臺返回的json數據中的字段。比如我們的后臺數據中包含了id字段,那么我們可以這樣設置序號列:
<script type="text/javascript"> jQuery("#grid").jqGrid({ url:'data.json', datatype: "json", colNames:['序號','姓名', '年齡'], colModel:[ {name:'id',index:'id', width:60}, {name:'name',index:'name',width:100}, {name:'age',index:'age', width:100} ], rowNum:10, rowList:[10,20,30], pager: '#pager', sortname: 'id', viewrecords: true, sortorder: "asc", caption:"jqGrid 示例 - 序號列" }); </script>
上面的代碼中,我們在colModel的第一個元素中添加了一個index屬性,并將其值設置為' id ' 。在后臺返回的json數據中,我們需要保證每一條數據都有id屬性,該屬性值可以是唯一的數字或者其他形式的值,比如:字符串、日期等。
如果使用本地數據,那么需要添加一個自定義列,通過循環動態添加序號列。示例代碼如下:
<script type="text/javascript"> var mydata = [ {name:"張三", age:"28"}, {name:"李四", age:"25"}, {name:"王五", age:"32"}, {name:"趙六", age:"27"} ]; jQuery("#grid").jqGrid({ datatype: "local", data: mydata, colNames:['序號','姓名', '年齡'], colModel:[ {name:'myIndex', index:'myIndex', width:60}, {name:'name',index:'name',width:100}, {name:'age',index:'age', width:100} ], gridComplete: function(){ var $table = $("#grid tbody"); var rownums = $table.find("tr:gt(0)").length; for(var i=1;i<=rownums;i++){ $table.find("tr:eq("+i+") td:eq(0)").text(i); } }, rowNum:10, rowList:[10,20,30], pager: '#pager', sortname: 'id', viewrecords: true, sortorder: "asc", caption:"jqGrid 示例 - 本地數據自定義序號列" }); </script>
上面的代碼中,我們在colModel的第一個元素中添加了一個自定義的myIndex屬性,并將其值與序號列相對應。在gridComplete事件中,我們通過循環動態添加序號列的值。
通過上述的兩種方法,便可實現jqGrid序號列的添加。
下一篇網頁代碼編程css