如何在每行的特定列中显示文本(如“单击此处”)...而不使用按钮?

时间:2013-06-28 02:13:05

标签: jquery jqgrid

如何在单元格中显示“View”之类的值。

仅供参考 - 我不需要按钮(假设它不是jqgrid要求)。

我满足于只需使用“onCellSelect”事件就可以在单击特定单元格时执行我所需的操作。

我只是想知道如何在每行的特定列中放置文本 - 例如“查看”或“点击此处”等。

我试过这样的东西,但是,文字没有出现。 即,

    -
    -
    -
    {name: 'view',              
    label: 'view',              
    index: 'view',              
    width: 100, 
    editable: false, 
    edittype:'text', 
    align: 'center', 
    editoptions: {value: 'View'}}
    -
    -
    - 

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

这很容易。您需要做的是使用custom formatter。通常,网格的输入数据包含列的一些数据,您需要根据列的输入显示一些其他HTML片段,或者根据同一行的其他列的输入显示。你有更简单的要求。您只需在一列中放置一些修复文本即可。因此,您可以跳过自定义格式化程序的所有参数(cellValueoptionsrowObject)并执行类似

的操作
{
    name: "view",
    width: 100,
    sortable: false,
    align: 'center',
    formatter: function () {
        return "Click Here"; // one can return ANY HTML fragment here
    }
}

您可以使用onCellSelectbeforeSelectRow来检测点击。我建议您阅读the answerthis oneonCellSelectbeforeSelectRow之间选择的主要区别在于可以通过单击“单击此处”文本来阻止选择网格行。

答案 1 :(得分:0)

你的意思是这样的? DEMO http://jsfiddle.net/yeyene/ZQ4wd/2/

在初始化表后添加此脚本。

$('tr').each(function(){
    $(this).find('td').eq(1).text('Click Here');
});