← TssGrid/例一覧

TssGrid 例: 数値入力 — 全角→半角 & 入力エラー IME堅牢

業務フォームでは全角数字の誤入力がつきもの。TssGrid の type:'number'全角数字・符号を既定で半角化します(1231231,234.51234.5)。
数字以外を入れたときの扱いは invalidMode で選べます:
revert(既定)=黙って元の値に戻す(軽快)
keepセルを赤くしてエラー表示onInvalid でメッセージ(折角の入力チェックを活かす)
どちらのモードでも全角→半角の正規化は効きます。「数量」列に 123あ10 を入れて挙動を比べてください。

A. 既定 revert 黙って戻す

 

B. keep 赤くエラー

 

差し込み(抜粋)

new TssGrid(host, {
  invalidMode: 'keep',                 // 不正セルを赤く保持(既定は 'revert')
  onInvalid: (rej) => showMessage(rej),// 弾かれた時に呼ばれる(両モード共通)
  columns: [
    {},
    { type:'number', thousands:true },             // 全角→半角は既定でON
    { type:'number', prefix:'¥', /* zenkaku:false で無効化も可 */ },
  ],
});