1. 程式人生 > >jqGrid colModel 中colModel 後臺生成傳入前端,實現jqGrid 動態列

jqGrid colModel 中colModel 後臺生成傳入前端,實現jqGrid 動態列

問題描述:在做後臺管理的時候我們使用了jqGrid  來控制前端顯示,但是在開發中碰到了一種特殊情況,即colModel 不確定的情況,原因是我們在專案中通過構造器生成了大量的模板,而且這個模板數目是不斷增長的,所以需要一種後臺控制前端顯示的方法。

剛開始查詢了大量的資料,嘗試了很多方法發現都不能解決我們這個問題,後來瀏覽了一下jqGrid的原始碼,找到了一種變通的方法。

	<script type="text/javascript">
		var options = {
			listUrl : "XX!XX.do",
		};
	    var gridopt = {
            url: options.listUrl+"?id="+${id}+"&model_id="+${model_id},
            colModel:[
                <span style="color:#ff6666;"> ${<span style="font-size:18px;">colModel</span>}</span>
            ],
            sortname: "ID",
            sortorder: "ASC",
            title: false,
            rp: 15,
            usepager: true,
            showcheckbox: false,
            autoload: true
        };
         var xjgrid = new xjGrid("gridlist", gridopt);
	</script>
使用el表示式把後臺生成的‘colModel’放入colModel[ ]中。至於後臺生成的colModel’ 則是

{ display: 'ID', name: 'ID',hide:false, width: '5%',  sortable: false, align: 'left', iskey: true , process: addhref},

{ display: 'XX', name: 'XX',hide:false, width: '5%',  sortable: false, align: 'left', iskey: true },

{ display: 'XX', name: 'XX',hide:false, width: '5%',  sortable: false, align: 'left', iskey: true },

這樣的字串。後臺生成的程式碼就不貼了,每個專案的邏輯都不一樣。