0

フィルターを大文字と小文字を区別するものから区別しないものに変更する方法はありますか?

ありがとうございました。

4

3 に答える 3

2

DataView フィルターを使用した実際の例の関連セクションを次に示します。値が最初に定義されるときに searchString 変数が小文字に変換され、次に myFilter 関数内で小文字の文字列と比較されることに注意ください。

function myFilter(item, args) {
    if (args.searchString != "" && item["FirstName"].toLowerCase().indexOf(args.searchString) == -1 && item["LastName"].toLowerCase().indexOf(args.searchString) == -1) {
        return false;
    }
    return true;
}

....

$("#txtSearch").keyup(function (e) {
    Slick.GlobalEditorLock.cancelCurrentEdit();
    // clear on Esc
    if (e.which == 27) {
        this.value = "";
    }
    searchString = this.value.toLowerCase();
    updateFilter();
});

function updateFilter() {
    dataView.setFilterArgs({
        searchString: searchString
    });
    dataView.refresh();
}

// initialize the model after all the events have been hooked up
dataView.beginUpdate();
dataView.setItems(data);
dataView.setFilterArgs({
    searchString: searchString
});
dataView.setFilter(myFilter);
dataView.endUpdate();
于 2012-11-19T18:52:50.657 に答える
1

DataView フィルターについて話していると思いますが、フィルター機能の実装は完全にあなた次第です。SlickGrid の例で使用されているフィルター関数に注意してください。この関数は、dataView.setFilter(your_function_here) を使用してフィルターとして設定されます。したがって、必要に応じてフィルター関数を実装し、dataView に設定します。

于 2012-05-29T20:52:33.870 に答える
0
  function filter(item) {
    // String Should Match Each Other
    /* for (var columnId in columnFilters) {
      if (columnId !== undefined && columnFilters[columnId] !== "") {
        var c = grid.getColumns()[grid.getColumnIndex(columnId)];
        if (item[c.field] != columnFilters[columnId]) {
          return false;
        }
      }
    } */

    for (var columnId in columnFilters) {
        if (columnId !== undefined && columnFilters[columnId] !== "") {
            var c = grid.getColumns()[grid.getColumnIndex(columnId)];
// This Case Sensitive
//if (!(item[c.field] && (""+item[c.field]).indexOf(columnFilters[columnId]) !== -1)) {
            if (!(item[c.field] && (""+item[c.field].toLowerCase()).indexOf(columnFilters[columnId].toLowerCase()) !== -1)) { 
// Case in-Sensitive
                return false;
            }
        }
    }
    return true;
  }
于 2016-09-26T13:32:47.017 に答える