0

すべての DWR 専門家に呼びかけましょう!

現在、リバース Ajax を使用して Web ページのテーブルにデータを動的に追加しています。

次のメソッドを実行すると:

public static void addRows(String tableBdId, String[][] data) {
    Util dwrUtil = new Util(getSessionForPage()); // Get all page sessions
    dwrUtil.addRows(tableBdId, data);
}

必要に応じて、Web ページに新しい行が作成されます。

ただし、これらの新しく作成された値を後で更新するには、アクセスするための要素 ID がタグに必要です。

私は DWR の javadoc を見てきました。いくつかの追加オプションを指定できます ( http://directwebremoting.org/dwr/browser/addRowsを参照)。

作成された td 要素の要素 ID を指定する方法について誰かが私に手がかりを与えることができれば、私は最も感謝しています。あるいは、誰かが別のアプローチを知っているなら、私は知りたいと思っています。

敬具

カール

4

2 に答える 2

0

コードのこの行は本当に機能していますか??

dwrUtil.addRows(tableBdId, data);

DWR の addRows メソッドが機能するには、少なくとも 3 つのパラメーター (4 つのうち 3 つ) が必要です。

  1. id : table 要素 (できれば tbody 要素) の ID。
  2. array : 更新されたテーブルの行ごとに 1 つのエントリを含む配列 (または DWR 1.1 のオブジェクト)。
  3. cellfuncs : 渡された行データからセル データを抽出するための関数の配列 (列ごとに 1 つ)。
  4. options : さまざまなオプションを含むオブジェクト。

idarray、およびcellfuncs必要です。この場合、行の作成をカスタマイズして TD id を設定する必要があるため、オプションも渡す必要があります。見てみな:

options 引数内で、「cellCreator」という 1 つのパラメーターを使用して、td html 要素を作成する独自の方法を通知する必要があります。見てみな:

// Use the cellFuncs var to set the values you want to display inside the table rows
// the syntax is object.property
// use one function(data) for each property you need to show on your table.
var cellFuncs = [
		         	function(data) { return data.name_of_the_first_object_property ,
		         	function(data) { return data.name_of_the_second_object_property; } 
		         	];											
											
DWRUtil.addRows(
				tableBdId, 
				data, 
				cellFuncs, 
				{
					  // This function is used for you customize the generated td element
					  cellCreator:function(options) {
							var td = document.createElement("td");
							// setting the td element id using the rowIndex
							// just implement your own id bellow
							td.id = options.rowIndex;
							return td;
					 }
				});		

于 2015-10-15T17:00:11.423 に答える