2012-02-04 3 views
2

jqGridには、アクションフォーマッタとブール値の投稿列が含まれています。 私はclickableCheckboxフォーマッタが使用されている場合、jqGridの確認済み注文行から削除アクションアイコンを削除する方法

var iCol = getColumnIndexByName($grid, 'Posted'); 
$('.ui-inline-del').each(function (index) { 
    var row = $grid[0].rows[index]; 
    if ($(row.cells[iCol]).find(">div>input:checked").length > 0) { 
     $(this).hide(); 
    } 
}); 

を使用してloadCompleteにjqGridで掲示行に対してアクションボタンを削除して隠そうとしたが、これは間違った行にランダムにアクションボタンを削除して非表示になります。 投稿された列の値が真の行から削除ボタンを削除するにはどうすればよいですか? Oleg clickableCheckboxフォーマッタがcolmodelで使用されます。データはjsin形式でサーバーから読み込まれます。削除ボタン後

   $("<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-left": "2px", float: "left" }) 
      .addClass("ui-pg-div ui-inline-custom") 
      .append('<span class="ui-icon ui-icon-lock"></span>') 
      .appendTo($(row.cells[iActionsCol]).children("div")); 

を新しいボタンを追加する

[{"name":"_actions", 
"formatter":"actions", 
,"delbutton":true, 
formatoptions: {"delOptions":{"url":"Delete"}}}, 

{"label":null,"name":"Posted", 
"edittype":"checkbox", 
"editoptions":{"value":"True:False","readonly":"readonly","disabled":"disabled"}, 
"formatter":"clickableCheckbox", 
"editable":true,"width":0, 
"classes":null,"hidden":true, 
}] 

は、私はあなたが以下のようなものにloadCompleteから列挙を変更すべきだと思う

enter image description here

答えて

2

常に間違ったアイコンを示しています

loadComplete: function() { 
    var i, rows = this.rows, l = rows.length, row, 
     iClosedCol = getColumnIndexByName($grid, 'Posted'), 
     iActionsCol = getColumnIndexByName($grid, '_actions'); 
    for (i = 0; i < l; i++) { 
     row = rows[i]; 
     if ($(row).hasClass('jqgrow')) { 
      if ($(row.cells[iClosedCol]).find(">div>input:checked").length > 0) { 
       $(row.cells[iActionsCol]).find(">div>div.ui-inline-del").hide(); 
      } 
     } 
    } 
} 

コードでは、「投稿済み」列にチェックマークが入っている行とまったく同じ行に「削除」アクションボタンが表示されないようにすることができます。

+0

ありがとうございました。出来た。ポストされていない行の削除ボタンとポストされた行のポスト解除ボタンに追加のポストボタンを追加する方法は?それとも、別の列を追加する方が良いでしょうか?編集アクションは常に表示されません。または、編集アクションボタンをポストボタンに置​​き換える方が良いでしょうか? – Andrus

+1

@Andrus:あなたは大歓迎です! [回答](http://stackoverflow.com/a/6627201/315935)では、標準の「アクション」ボタンのように使用できるカスタムボタンを追加する方法を説明しました。私はそれがあなたが必要とするものだと思う。 – Oleg

+0

ありがとうございます。削除アイコンの後に2番目のアイコンを追加すると間違ったアイコンが表示され、正しいアイコンを表示する方法は?削除アイコンの前に新しいアイコンを追加するには?私は質問を更新しました。 – Andrus

関連する問題