私はag-Gridを使用していますが、データをフィルタリングするときに問題があります。価格列でデータをフィルタリングすると、数字のドットでのみ機能し、コンマでは機能しません。
Link: https://plnkr.co/edit/LDdrRbANSalvb4Iwh5mp?p=preview
実際の例: [価格] 列の選択ボックスで、「1.5」を挿入し、「1,5」を挿入してみてください。
これは、このフィルターがネイティブ フィルターであるためです。
カスタム動作を処理したい場合は、独自のフィルターを定義してください。
ドキュメント : https://www.ag-grid.com/angular-grid-filtering/index.php
手っ取り早い解決策は、次のように NumberFilter にモンキー パッチを適用することです。
NumberFilter.prototype.doesFilterPass = function (node) {
if (this.filterNumber === null) {
return true;
}
var value = this.valueGetter(node);
if (!value && value !== 0) {
return false;
}
var valueAsNumber;
if (typeof value === 'number') {
valueAsNumber = value;
}
else {
valueAsNumber = parseFloat(value.replace(',','.'));
}
switch (this.filterType) {
case EQUALS:
return valueAsNumber === this.filterNumber;
case LESS_THAN:
return valueAsNumber < this.filterNumber;
case GREATER_THAN:
return valueAsNumber > this.filterNumber;
default:
// should never happen
console.warn('invalid filter type ' + this.filterType);
return false;
}
};
次に、変更された行は次のとおりです。
valueAsNumber = parseFloat(value.replace(',','.'));