0

GridUnload を実行した後、フィルター、並べ替え、グループなどの点で以前の状態にグリッドを復元しようとしています。これらすべての復元に成功しましたが、復元しているデータの一部ではないグリッド内の視覚的側面が欠けているため、それらを見ることができません。

たとえば、フィルター値 (toolbarfilter) を復元しますが、ツールバーにフィルター値が表示されません。( $("#gview_"+$grid.attr('id')+' #' + inputId).val(column.data) を使用して復元できるため、そこにありますが、方法がわかりませんそれらを手動で反復せずに再表示させます。

ありがとう、

タル。

4

2 に答える 2

0

フィルター ツールバーのすべてのフィールドが既に入力されている場合は、triggerToolbarメソッドを呼び出すだけでよいと思います。メソッドが DOM 要素のメソッドであることに注意してください。だからあなたはただ電話することができます

$grid[0].triggerToolbar();
于 2015-04-02T16:07:37.920 に答える
0

最終的に、次のようにしてツールバーフィルターを復元しました。

  1. すべてのルールを一時変数 (barFilter) に保存しました。
  2. グリッドの復元後、barFilter を取得して値をその場所に抽出する新しい関数を追加しました。 restoreToolbarFilter($('#'+gridName),barFilter);:

regexEscape = function(s) {
			return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
};

function restoreToolbarFilter($grid,searchParams){
	
				
				for (key in searchParams) {
					// Restore the search input string
					var column = searchParams[key];
					
					inputId = regexEscape('gs_' + column.field);
				
					
					$("#gview_"+$grid.attr('id')+' #' + inputId).val(column.data);
					
					// Restore the search filter type and operator symbol
					operator = $("#gview_"+$grid.attr('id')+' #' + inputId).closest('tr').find('.soptclass');
					$(operator).attr('soper', column.op);
					operands = {  "eq":"==",
									"ne":"!",
									"lt":"<",
									"le":"<=",
									"gt":">",
									"ge":">=",
									"bw":"^",
									"bn":"!^",
									"in":"=",
									"ni":"!=",
									"ew":"|",
									"en":"!@",
									"cn":"~",
									"nc":"!~",
									"nu":"#",
									"nn":"!#" };
					$(operator).text(operands[column.op]);
				}
}

于 2015-04-02T17:59:53.367 に答える