jqgrid插入超链接时,formatter参数使用方法

在给jqgrid里的内容加超链接时,可以用jqgrid里的formatter参数去配置:例如colModel中例子是如下这样:

   	colModel:[
	   		{name:'id',		index:'id', 	formatter:	customFmatter},
	   		{name:'name',	index:'name',	formatter: "showlink", formatoptions:{baseLinkUrl:"save.action",idName: "id", addParam:"&name=123"}},
	   		{name:'price',	index:'price', 	formatter: "currency", formatoptions: {thousandsSeparator:",",decimalSeparator:".", prefix:"$"}},
	   		{name:'email',	index:'email', 	formatter: "email"},
	   		{name:'amount',	index:'amount', formatter: "number", formatoptions: {thousandsSeparator:",", defaulValue:"",decimalPlaces:3}},		
	   		{name:'gender',	index:'gender',	formatter: "checkbox",formatoptions:{disabled:false}},
	   		{name:'type',	index:'type', 	formatter: "select", editoptions:{value:"0:无效;1:正常;2:未知"}}
	   	],

那么可以给customFmatter编辑成函数

function customFmatter(cellvalue, options, rowObject){
		console.log(cellvalue);
		console.log(options);
		console.log(rowObject);
		return "["+cellvalue+"]";
	}
function customFmatter(cellvalue, options, rowObject){
	
}
//cellvalue - 当前cell的值
//options - 该cell的options设置,包括{rowId, colModel,pos,gid}
//rowObject - 当前cell所在row的值,如{ id=1, name="name1", price=123.1, ...}

以上是函数中三个参数变量的具体用法!

我的代码实现如下:

 colModel:[
            /*{name:'myac',index:'', width:80, fixed:true, sortable:false, resize:false,
                            formatter:'actions',
                            formatoptions:{
                                keys:true,

                                delOptions:{recreateForm: true, beforeShowForm:beforeDeleteCallback},
                                //editformbutton:true, editOptions:{recreateForm: true, beforeShowForm:beforeEditCallback}
                            }
            },*/
            {name:'result_id',index:'result_id',width:20, editable:false, sortable:true, sorttype:"int"},
            {name:'query_name',index:'query_name',width:50, editable:false, sortable:true, sorttype:"string", formatter: queryLink},
            {name:'city',index:'city',width:30, editable:false, sortable:true, sorttype:"string"},
            {name:'env_left',index:'env_left',width:30, editable:false, sortable:true, sorttype:"string"},
            {name:'env_right',index:'env_right',width:30, editable:false, sortable:true, sorttype:"string"},
            {name:'create_time',index:'create_time',width:50, editable:false, sortable:true, unformat: pickDate},
            {name:'result_score',index:'result_score',width:30, editable:false, sortable:true, sorttype:"string"},
            {name:'result_query_tags',index:'result_query_tags',width:30, editable:false, sortable:true, sorttype:"string"},
            {name:'result_problem_class',index:'result_problem_class',width:30, editable:false, sortable:true, sorttype:"string"},
            {name:'result_score_detail',index:'result_score_detail',width:50, editable:false, sortable:true, sorttype:"string"},
            {name:'user_name',index:'user_name',width:30, editable:false, sortable:true, sorttype:"string"},
            {name:'status',index:'status',width:50, editable:true, sortable:true, sorttype:"string"},
            {name:'owner',index:'editer',width:50, editable:true, sortable:true, sorttype:"string"},
            {name:'case_detail',index:'case_detail',width:20, editable:true, sortable:true, sorttype:"string", formatter: cLink},

        ],
        viewrecords : true,
        rowNum:10,
        rowList:[10,20,30],
        pager : pager_selector,
        altRows: true,
        //toppager: true,

        //multiselect: true,
        //multikey: "ctrlKey",
        multiboxonly: false,

        loadComplete : function() {
            var table = this;
            setTimeout(function(){
                styleCheckbox(table);

                updateActionIcons(table);
                updatePagerIcons(table);
                enableTooltips(table);
            }, 0);
        },

        editurl: url_pre+"Home/EditTask",//nothing is saved

        autowidth: true

    });
    function queryLink(cellvalue, options, rowObject){
        return "<a href = '" + url_pre +  rowObject['query_link']+"'>" + cellvalue + "</a>";
    }
    function cLink(cellvalue, options, rowObject) {
        return "<a href ='"+url_pre + "Case/showCaseDetail/id/"+ rowObject['result_id']+"'>" + cellvalue +"</a>";
    }

通过以上两个formatter函数(queryLink和cLink),以及对参数cellvalue和rowObject的直接使用,编辑出超链接。简单方便。

作出的效果如下:

jqgrid插入超链接时,formatter参数使用方法_第1张图片

这样就出来Query和详情下面的超链接了。




你可能感兴趣的:(jqGrid)