カスタムボタン列でJqgridを使用しています。jqgrid の load complete メソッドを使用してボタンを設定します。ロード完了で使用するコードの下。
var grid = $("#grid"),
iCol = getColumnIndexByName(grid,'custom'); // 'custom' - name of the actions column
grid.children("tbody")
.children("tr.jqgrow")
.children("td:nth-child("+(iCol+1)+")")
.each(function() {
$("<div>",
{
title: "button1",
mouseover: function() {
$(this).addClass('ui-state-hover');
},
mouseout: function() {
$(this).removeClass('ui-state-hover');
},
click:
handle your click function here
}
).css({"margin-left": "5px", float:"left"})
.addClass("ui-pg-div ui-inline-save")
.attr('id',"customId")
.append('<span class="ui-button-icon-primary ui-icon ui-icon-disk"></span>')
.appendTo($(this).children("div"));
)};
var getColumnIndexByName = function(grid,columnName) {
var cm = grid.jqGrid('getGridParam','colModel'), i=0,l=cm.length;
for (; i<l; i+=1) {
if (cm[i].name===columnName) {
return i; // return the index
}
}
return -1;
};
すべての行にボタンを表示します。しかし、最初と2番目の列の値に基づいて、いくつかの行にのみ表示したいと考えています。最初と 2 番目の列の値を取得できる簡単な方法はありますか、または "tbody" をもう一度繰り返して結果を取得する必要がありますか? 私を助けてください。