これを行うには、ページの読み込み時にフィルター行で enterEditMode を呼び出し、編集する特定のセルを渡します。
function enterEditFilter() {
var grid = $find('<%= grid.ClientID %>');
var filtering = grid.get_behaviors().get_filtering();
var filterRow = filtering._row;
var cell = filterRow.get_cellByColumnKey('Text');
filtering.enterEditMode(cell);
}
これを行うには、フィルター行にアクセスできる必要があることに注意してください。パブリック API を介してこれにアクセスする方法があるようには見えないので、プライベート変数 _row を使用します。変数は変更される可能性があるため、これは推奨される方法ではありません。新しい製品のアイデアを提出して、フィルター行をパブリック API に追加することをお勧めします。次のページでこれを行うことができます。
http://ideas.infragistics.com/
もう 1 つの注意点は、デフォルトのフィルタ タイプが「すべて」であるため、これも変更する必要があることです。これを行うには、クライアント側のフィルタリング イベントを処理し、そこでルールを設定します。
function grid_filtering(sender, eventArgs) {
var filters = eventArgs.get_columnFilters();
for (var i = 0; i < filters.length; i++) {
var condition = filters[i].get_condition();
if (condition.get_rule() === 0) {
var columnType = filters[i].get_columnType();
if (columnType == 'string') {
condition.set_rule($IG.TextFilterRules.Equals);
}
else if (columnType == 'number') {
condition.set_rule($IG.NumericFilterRules.Equals);
}
}
}
}