現在JQGridを使用しています。
まず、編集ボタンと削除ボタンを備えたリスト グリッドを作成します。
このグリッドには編集ボタンと削除ボタンがあるため、ユーザーがこれらのボタンをクリックすると、クリックした行 ID に従って次のページにリダイレクトする必要があります。
<script type="text/javascript">
jQuery(document).ready(function () {
var test = function () {
alert("****");
};
var grid = $("#list");
grid.jqGrid({
url: '/Supplier/Select_SupplierByX/',
datatype: 'json',
mtype: 'POST',
postData: {
SupplierName: function () { return $("#txtSupplierName").val(); },
Address: function () { return $("#txtAddress").val(); },
Phone: function () { return $("#txtPhone").val(); }
},
colNames: ['Actions', 'SupplierID', 'SupplierName', 'Address', 'Phone'],
colModel: [
{ name: 'act', index: 'act', width: 25, sortable: false },
{ name: 'SupplierID', index: 'SupplierID', width: 40, align: 'left', editable: false, searchtype: "integer" },
{ name: 'SupplierName', index: 'SupplierName', width: 40, align: 'left', editable: false },
{ name: 'Address', index: 'Address', width: 40, align: 'left', editable: false },
{ name: 'Phone', index: 'Phone', width: 40, align: 'left', editable: false }
],
loadtext: 'Loading Supplier Information...',
pager: jQuery('#pager'),
rowNum: 10,
sortname: 'SupplierName',
sortorder: "asc",
rownumbers: true,
sortable: true,
viewrecords: true,
autowidth: true,
height: 300,
caption: 'Supplier List',
gridComplete: function () {
test();
var ids = grid.jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
var cl = ids[i];
//be = "<input style='width:60px;' type='button' value='Edit' onclick=\"gridRowButtonClick('" + cl + "', 'true');\" />";
//se = "<input style='width:60px;' type='button' value='Delete' onclick=\"gridRowButtonClick('" + cl + "', 'false');\" />";
be = "<input style='width:60px;' type='button' value='Edit' onclick=\"javascript:alert('Testing');\" />";
se = "<input style='width:60px;' type='button' value='Delete' onclick=\"test();\" />";
grid.jqGrid('setRowData', ids[i], { act: be + se });
}
}
/*,gridRowButtonClick: function (id, isEdit) {
alert("This is gridRowButtonClick.\n"+ id +" : "+ isEdit);
}*/
}).navGrid('#pager', { search: false, del: false, add: false, edit: false },
{}, // default settings for edit
{}, // default settings for add
{}, // delete instead that del:false we need this
{}, // search options
{} // view parameters
);
$('#butSearch').click(function () {
grid.trigger("reloadGrid");
});
});
上位の JavaScript によると、gridComplete イベントが発生し、" * *" メッセージが表示されます。しかし、削除ボタンをクリックすると、firebug は「テストが定義されていません」と言います。
どんな提案でも大歓迎です。