私の JSF アプリケーションでは、employee テーブルから他の詳細を含む行を削除する必要があります。ビュー内の行を削除することはできますが、最後の行の削除でのみ削除確認ダイアログを表示したいと考えています。
JavaScript を使用して実装しましたが、削除するたびにポップアップします。
今、最後の行だけが欲しいのですが、マネージド Bean を介して最後の行であるかどうかを確認できますが、これをビューにどのように実装できますか?
私の JSF アプリケーションでは、employee テーブルから他の詳細を含む行を削除する必要があります。ビュー内の行を削除することはできますが、最後の行の削除でのみ削除確認ダイアログを表示したいと考えています。
JavaScript を使用して実装しましたが、削除するたびにポップアップします。
今、最後の行だけが欲しいのですが、マネージド Bean を介して最後の行であるかどうかを確認できますが、これをビューにどのように実装できますか?
ロジック チェック テーブルのサイズを削除する前に、マネージド Bean クラスで。
if(table.size == 1){
popup = true;
}
ポップアップ OK ボタンがクリックされたときに呼び出される別のアクションを記述します。
ビューにテーブルを表示している場合はjs
、削除ボタンをクリックしたとき、または削除したときにテーブルに1行しかないかどうかを確認するために使用できます。
id
これを行うには、html 要素に意味のある名前を付ける必要があります。これは、ビューで属性を使用して jsf で実現できます。次に、テーブルを見つけて、$(#table-id)
その行数を確認できます。
rows
HTML DOM要素のプロパティを使用して、<table>
すべての行を配列として取得し、length
プロパティを呼び出して長さを知ることができます。
したがって、すべての場合、これは次のようにする必要があります。
<h:form id="form">
<h:dataTable id="table" ...>
<h:column>
<h:commandButton value="delete" ...
onclick="if (document.getElementById('form:table').rows.length == 1) return confirm('Are you sure?')" />