2009年09月22日
jquery で Grid (7)
シルバーウィークでも仕事しています suzukin です。
...明日はお休みを頂いています...
今回は jqGrid のちょっとした不具合と対処方法についてです。
...明日はお休みを頂いています...
今回は jqGrid のちょっとした不具合と対処方法についてです。
以前に説明しましたが、 jqGrid ではロケール情報の js ファイルを変更することで、各国語に対応できる設計となっています。
日本語の場合は 'grid.locale-jp.js', 'min/grid.locale-jp-min.js' を選択する事になります。
このロケールファイルですが、formatter の一部定義がオリジナルと異なるため、場合によってはスクリプトエラーが発生する事があります。
オリジナル(grid.locale-en.js):
日本語ロケール(grid.locale-jp.js):
※"\u756a\u76ee" は "番目" と表示されます
オリジナルの場合、英語の序数を表示するための処理が記述されています。
1→'1st', 2→'2nd', 3→'3rd', 4→'4th' ....
日本語の場合、この処理は必要ないので "番目" に統一しているようですが、オリジナルは function で定義していますのでスクリプトエラーが発生してしまいます。
オリジナルと同じように、function で返すだけで大丈夫そうですので、
と変更すればスクリプトエラーは発生しなくなります。
formatter を利用する際には、ご注意下さい。
日本語の場合は 'grid.locale-jp.js', 'min/grid.locale-jp-min.js' を選択する事になります。
このロケールファイルですが、formatter の一部定義がオリジナルと異なるため、場合によってはスクリプトエラーが発生する事があります。
オリジナル(grid.locale-en.js):
S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'},
日本語ロケール(grid.locale-jp.js):
S: "\u756a\u76ee",
※"\u756a\u76ee" は "番目" と表示されます
オリジナルの場合、英語の序数を表示するための処理が記述されています。
1→'1st', 2→'2nd', 3→'3rd', 4→'4th' ....
日本語の場合、この処理は必要ないので "番目" に統一しているようですが、オリジナルは function で定義していますのでスクリプトエラーが発生してしまいます。
オリジナルと同じように、function で返すだけで大丈夫そうですので、
S: function (j) {return "\u756a\u76ee"},
と変更すればスクリプトエラーは発生しなくなります。
formatter を利用する際には、ご注意下さい。
Posted by シーポイントシステム開発 at 22:00