0

列にフォーマッタを使用しているjqgridがあります

{ name: 'Delete', width: 40, formatter: self.deleteBtnFormatter }

deleteBtnFormatter は次のとおりです。

  deleteBtnFormatter: function (cellvalue, options, rowdata) {
    var self = this;        
    if (cellVale== "Yasser") {
        return "<div class='abc'>-</div>";
    }
    else {
        var deleteBtnId = // i am getting this from rowData
        var deleteButton = "<div class='xyz'" + "id='" + deleteBtnId + "' >Delete<div>";        

        return deleteButton;
    }

 },

今私の問題は、これらすべての削除ボタンを別の JavaScript メソッドにバインドする方法です。そこから、このエントリを削除するために ajax 呼び出しを行います。

また、javascript メソッドにパラメーターを渡したいことにも注意してください。

Url.Actionこれは、プロパティを使用したり、いじったりすることで実行できることはわかっていhrefますが、代わりにバインドしたいと思います。

ありがとう

4

1 に答える 1

1

次のフォーマッターjavascript関数を使用できます。

function deleteformatter(cellvalue, options, rowdata)
{
var id = // i am getting this from rowData
return "<input style='height:17px;width:17px;'  type='image' src='../Images/delete-icon.png' title='Remove' onclick=\"javascript:Delete_Click(this,id);\"/>";
}
// you can use ajax call rather to use this jqgrid delete function.
function Delete_Click(imgbtn,id){        
    HideError();
    var url = ""//function that you want to call
    jQuery("#jqgridId").jqGrid('delGridRow', id, { top: 230, left: 350, height: 110, reloadAfterSubmit: true, url: url,
                afterComplete : function () {
                    $('#jqgridId').trigger('reloadGrid');                        
                }
            });
}

次の関数をajax呼び出しに置き換えて、グリッドのエントリを削除できます。

    jQuery("#jqgridId").jqGrid('delGridRow', id, { top: 230, left: 350, height: 110, reloadAfterSubmit: true, url: url,
                afterComplete : function () {
                    $('#jqgridId').trigger('reloadGrid');                        
                }
            });

以下はajax呼び出しの例です。

        $.ajax({
            url: url,
            type: "POST",
            data: JSON.stringify({ ID: id }), 
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            error: function (xhr, status, error) {
                var error = extractError(xhr);
            },
            success: function (data) {

            }
        });
于 2012-11-19T12:33:35.347 に答える