2017-12-11 21 views
0

インライン編集セルでカスタムフォーマッタを使用できますか?これは私のコラムフォーマッタです:JQgridカスタムインライン編集フォーマット

formatoptions: { decimalPlaces: 4, decimalSeparator: ",", thousandsSeparator: ".", defaultValue: " " } 

主な問題は、インラインモードのセパレータが "。"です。ユーザが「242151,456」を入力すると「NaN」を返しますが、「25675.466」は対応する形式で転送されます。助けが必要です:

答えて

1

これを行うにはさまざまな方法があります。たとえば、のユーザーが入力したデータをsaveRowValidationコールバックに変更することができます。たとえば、デモhttps://jsfiddle.net/OlegKi/kj8y2nu9/

saveRowValidation: function (options) { 
    var newData = options.newData; 
    newData.amount = String(newData.amount).replace(",", "."); 
    newData.tax = String(newData.tax).replace(",", "."); 
    newData.total = String(newData.total).replace(",", "."); 
    return true; // validation is successful 
} 

.,を置き換えるために使用しています。正確なロジックは少し複雑かもしれませんが、同じ方法でsaveRowValidationの中に実装することができます。

+0

はい。それは良い出発点であり、多くのケースをカバーする必要があります。そして、インライン編集中にセル内の数字と区切り記号しか入力できないように設定できますか?そんなにオレグありがとう! :) – Darman

+0

@Darman:ようこそ!編集中に使用された 'keypress'をバインドし、いくつかのキーをフィルタリングすることができます。古いデモhttps://stackoverflow.com/a/4407958/315935では、editoptionsではなくsearchoptionsが使用されていますが、同じ方法で動作します。それは、数字、ドット、カンマだけを許可し、入力中はカンマをドットに置き換えます。それはあなたの要求に近いはずです。 – Oleg

関連する問題