0

フィルタリング セットで Infragistics NetAdvantage WebDataGrid を使用しています。

ページの読み込み時に、最初のフィルターのテキスト ボックスを開き、そこにフォーカスを設定して、ユーザーがフィルター処理するテキストの入力を開始できるようにします。

ここに画像の説明を入力

jQuery グリッドでこれを行う方法の例をオンラインで見ましたが、WebDataGrid では見ませんでした。

次のようなものが欲しい:

         myWebDataGrid.Behaviors.Filtering.ColumnFilters[2].RuleTextNode.focus; 

Infragistics35.Web.v11.2、バージョン = 11.2.20112.2025 を使用しています

4

1 に答える 1

1

これを行うには、ページの読み込み時にフィルター行で 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);
            }
        }
    }
}
于 2014-08-29T18:15:39.237 に答える