2012-04-15 15 views

Antwort

7

Ich habe versucht anstelle von appendTo zu verwenden und alles funktioniert. Um genau zu sein habe ich

loadComplete: function() { 
    var iCol = getColumnIndexByName(grid, 'act'); 
    $(this).find(">tbody>tr.jqgrow>td:nth-child(" + (iCol + 1) + ")") 
     .each(function() { 
      $("<div>", { 
       title: "Custom", 
       mouseover: function() { 
        $(this).addClass('ui-state-hover'); 
       }, 
       mouseout: function() { 
        $(this).removeClass('ui-state-hover'); 
       }, 
       click: function(e) { 
        alert("'Custom' button is clicked in the rowis="+ 
         $(e.target).closest("tr.jqgrow").attr("id") +" !"); 
       } 
      } 
     ).css({"margin-right": "5px", float: "left", cursor: "pointer"}) 
      .addClass("ui-pg-div ui-inline-custom") 
      .append('<span class="ui-icon ui-icon-document"></span>') 
      .prependTo($(this).children("div")); 
    }); 
} 

Die entsprechenden demo Displays

enter image description here

ich zusätzlich die CSS hinzugefügt

.ui-inline-custom.ui-state-hover span { margin: -1px; } 

für kleine Verbesserung der Schweben entspricht den the bug fix die bereits umgesetzt in jqGrid 4.3.2.

AKTUALISIERT: Die aktuelle Version von free jqGrid unterstützt einfache Möglichkeit, benutzerdefinierte Schaltflächen zu implementieren. Siehe the demo.

Verwandte Themen