jqgrid列中的硬编码按钮

时间:2015-12-25 09:07:41

标签: jquery jqgrid

我想在第一列的jqgrid中保留一个按钮。

$(document).ready(function() {
            var grid = $("#list"),
                mydata = [
                {col1:"need a button here",col2:"val1",col3:"val2"},
                {col1:"need a button here",col2:"val1",col3:"val2"},
                {col1:"need a button here",col2:"val1",col3:"val2"},
 ];
            grid.jqGrid({
                datatype: "local",
                data: mydata,
                colNames:['A','B','C'],
                colModel:[
{name:'col1',index:'col1',key: true,width:100,sorttype:"text"},
{name:'col2',index:'col2',key: true,width:100,sorttype:"text"},
{name:'col3',index:'col3',key: true,width:100,sorttype:"text"},
 ],
                search:true,
                pager:'#pager',
                jsonReader: {cell:""},
                rowNum: 10,
                rowList: [5, 10, 20, 50],
                sortname: 'id',
                sortorder: 'asc',
                viewrecords: true,
                height: "38%",
                caption: "Add Button"
            });

我需要第一列中的一个按钮,即col1。我尝试在高度属性之后在网格完整功能中添加一个按钮。

gridComplete: function(){
    var ids = $("#list").jqGrid('getDataIDs');
    for(var i=0;i < ids.length;i++){
        var cl = ids[i];
        be = "<input style='height:22px;' type='button' value='clickme'/>";
        $("#list").jqGrid('setRowData',ids[i],{act:be});
    } 

它不起作用。有人可以帮忙吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用custom_formatter。您对第一列的定义如下所示:

{name:'col1',index:'col1',key: true,width:100,sorttype:"text",formatter:buttonFunction},

然后你应该定义格式化程序JavaScript函数,它将呈现你的按钮:

function buttonFunction(cellvalue, options, rowObject)
{
   // some business logic for each row
   return "<input style='height:22px;' type='button' value='clickme'/>";
}