2016-05-12 60 views
1

状況:私はjqgridのすべての行に削除ボタンを提供しようとしているので、spring mvc webappを開発しています。ユーザーが削除ボタンをクリックするとjavascript関数が実行されます。jqgridから行を削除することができません

<table id="grid"></table> 
<div id="pager"></div> 

およびジャバスクリプトが以下の通りである:それは次のように、この私のHTMLがある達成するため、サーバーのDBから行を削除し、行がjqgridから削除され、コントローラに要求を送信

var mydata = [{ 
    name: "Toronto", 
    country: "Canada", 
    continent: "North America" 
}, { 
    name: "New York City", 
    country: "USA", 
    continent: "North America" 
}, { 
    name: "Silicon Valley", 
    country: "USA", 
    continent: "North America" 
}, { 
    name: "Paris", 
    country: "France", 
    continent: "Europe" 
}] 

$("#grid").jqGrid({ 
    data: mydata, 
    datatype: "local", 
    colNames: ["Name", "Country", "Continent","action"], 
    colModel: [{ 
     name: 'name', 
     index: 'name', 
     editable: true, 
    }, { 
     name: 'country', 
     index: 'country', 
     editable: true, 
    }, { 
     name: 'continent', 
     index: 'continent', 
     editable: true, 
    },{ 
     name: 'conti', 
     index: 'cont', 
     formatter : hello, 
     editable: true, 

    }], 
    pager: '#pager' 
}); 

function hello(cellvalue, options, rowObject) 
{ 
return '<a href="javascript:deleteRow(\'' + rowObject.name  
+'/');">delete</a>'; 
//code to remove this row from jqgrid 
} 

問題:削除ボタンを押すとサーバのDBから行が削除されますが、jqgridから行を削除する方法がわかりません。delRowDataを使ってみましたが、rowidが必要ですが、私はrowobjectしか持っていません。 rowobjectを使用してjqgridから関連する行を削除できますか?

答えて

0

私は次のように我々はoptionsオブジェクトからrowIdを取得することができ、解決策を見つけた:

function hello(cellvalue, options, rowObject) 
{ 
    return '<a href="javascript:clickFunction(\'' + options.rowId + '\');">' + "DELETE" + '</a>'; 
} 

ユーザーがハイパーリンクをクリックしたときに次にclickFunction()を「削除」が実行され、そのdelRowData()に該当する行をrowIdに取り、削除されます。

function clickFunction(rowid) 
{ 
    alert(rowid); 
    $('#grid').delRowData(rowid); 
} 

ドキュメント:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter

0

一般に、idプロパティを入力データに含めることをお勧めします。 idは、idという値をグリッドの行(<tr>要素)に割り当てるために使用されます。

optionsカスタムフォーマッタのパラメータには、options.rowIdoptions.colModelの2つのプロパティが含まれていることが重要です。 deleteRow機能に追加パラメータとしてoptions.rowIdを転送することができます。

+0

うん、私は、docを通過するとちょうど今それを考え出しました!とにかく砦に感謝します – user3442701

関連する問題