入力マスクを定義すると、PromptChar プロパティによってプレースホルダが定義されます。プレースホルダは、データ入力時に、入力マスクに指定された文字と同じタイプの文字を使用して置き換えることができます。ユーザーが無効な文字を入力した場合、コントロールはその文字を受け入れません。コントロールは数字やアルファベットなどの文字の種類は検証できますが、正確な月や日時というような内容の有効性は検証できません。
入力マスクの構成文字には次のようなものがあります。
Character |
説明 |
# |
数字のプレースホルダ。文字は数字 (0~9) である必要があり、入力は必須です。 |
. |
小数のプレースホルダ。実際に使用される文字は、システムの国際設定によって小数のプレースホルダに指定されたものです。この文字はマスク用のリテラルとして扱われます。 |
, |
千の位の区切り記号。実際に使用される文字は、システムの国際設定によって千の位の区切り文字に指定されたものです。この文字はマスク用のリテラルとして扱われます。 |
: | 時刻の区切り文字。実際に使用される文字は、システムの国際設定によって時刻の区切り文字に指定されたものです。この文字はマスキング用のリテラルとして扱われます。 |
/ | 日付の区切り文字。実際に使用される文字は、システムの国際設定によって日付の区切り文字に指定されたものです。この文字はマスク用のリテラルとして扱われます。 |
\ | マスク文字列内の次の文字をリテラルとして扱います。これにより、マスクに '#'、'&'、'A'、'?' やその他の特別な意味を持つ文字を含めることができます。この文字はマスク用のリテラルとして扱われます。 |
& | 文字のプレースホルダ。このプレースホルダーの有効な値は、次の範囲の ANSI 文字セットです。32-126 および 128-255 (キーボードおよび外国記号の文字)。 |
> | 以降の文字をすべて大文字に変換します。 |
< | 以降の文字をすべて小文字に変換します。 |
A | 英数字および文字のプレースホルダ。例: a-z、A-Z、0-9。文字の入力は必須です。 |
a | 英数字および文字のプレースホルダ。例: a-z、A-Z、0-9。文字の入力は必須ではありません。 |
9 | 数字のプレースホルダ。文字は数字 (0 から 9) である必要がありますが、入力は必須ではありません。 |
- | マイナス記号の後に一連の 'n' によって数字セクションを定義した場合 (例: "-nn,nnn.nn") は、負の数を指定できることを示します。'n' が後に続かない場合はリテラルと見なされます。マイナス記号は数が実際に負の場合のみ表示されます。 |
+ | プラス記号の後に一連の 'n' によって数字セクションを定義した場合 (例:"-nn,nnn.nn") は、負の数を指定できることを示します。"-"との違いは、数が正か負かに基づいて常に '+' または '-' 記号が表示されるという点です。 |
C | 文字またはスペースのプレースホルダ。文字の入力は必須ではありません。これは「&」プレースホルダとまったく同様に機能し、Microsoft Access との互換性を確保します。 |
? | 文字のプレースホルダ。例:a-z または A-Z を表します。文字の入力は必須ではありません。 |
n | 数字のプレースホルダ。n のグループを使用して、数字が右から左に入力される数字セクションを作成できます。文字は数字 (0 から 9) である必要がありますが、入力は必須ではありません。 |
mm, dd, yy | これら 3 つの特殊トークンを組み合わせて日付マスクを定義できます。mm は月、dd は日、yy は 2 桁形式の年、yyyy は 4 桁形式の年を表します。例: mm/dd/yyyy、yyyy/mm/dd、mm/yy。 |
hh, mm, ss, tt | これら 3 つの特殊トークンを組み合わせて時刻マスクを定義できます。hh は時、mm は分、ss は秒、tt は AM/PM を表します。例: hh:mm、hh:mm tt、hh:mm:ss。 |
{date} | {date} トークンは、短い日付形式を入力するためのプレースホルダです。日付マスクは、基になるカルチャ設定を使用して生成されます。 |
{time} | {time}トークンは、短い時刻形式を入力するためのプレースホルダです。短い時刻形式には通常、秒部分は含まれません。時刻マスクは、基になるカルチャ設定を使用して生成されます。 |
{longtime} | {longtime} トークンは、長い時刻形式を入力するためのプレースホルダです。長い時刻形式には通常、秒部分が含まれます。長い時刻マスクは、基になるカルチャ設定を使用して生成されます。 |
{double:i.f:c} | {double:i.f:c}は、浮動小数点の入力を許可するマスクのプレースホルダです。iとi.fのfは、それぞれ整数部分の桁数と小数部分の桁数を指定します。マスクの :c 部分はオプションで、値の整数部分と小数部分を連続して入力することを指定します。たとえば、マスクに :c を指定した場合、12.34 と入力するためには、ユーザーは「1234」とキー入力します。小数点区切り文字を入力しない点に注意してください。このように設定すると、ユーザーは小数点区切り文字を入力する必要がなくなります。 |
{double:-i.f:c} | 負の数を指定できることを除いて double:i.f:c と同じです。 |
{currency:-i.f:c} | 基になる書式プロバイダーまたはカルチャの現在の書式設定情報に基づいてマスクが構成される点以外は{double:i.f:c} と同じです。通常は通貨記号を含み、桁区切り文字も表示します。 |
{currency:-i.f:c} | 負の数を指定できることを除いて currency:i.f:c と同じです。 |
リテラル | 上記以外の記号はすべてリテラルとして (つまり、その記号自体として) 表示されます。 |
また、次の表にある記号が、基になるカルチャ設定の対応する記号にマップされることを示すために、{LOC} 文字シーケンスを使用してマスクをエスケープすることもできます。
Character |
説明 |
$ | 通貨記号。 |
/ | 日付の区切り記号。 |
: | 時刻の区切り記号。 |
, | 千の位の区切り記号。 |
. | 小数点区切り記号。 |
+ | 正の記号。 |
- | 負の記号。 |
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Private Sub Button17_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button17.Click Dim column As UltraGridColumn = Me.ultraGrid1.DisplayLayout.Bands(0).Columns("Phone") ' Enable masked input in a column by setting the MaskInput property. column.MaskInput = "(###) ###-####" ' Set various mask modes. These mask modes effect how what is included when data ' is committed to the cell, when it's displayed and when it's copied. MaskMode of ' Raw does not include literals and prompt characters. So for this particular mask, ' only thig that is going to be put in the data source will be just the digits, ' Literals will be stripped out (in this example, literals are '(', ')', ' ', '-' ' characters.) column.MaskDataMode = MaskMode.Raw column.MaskDisplayMode = MaskMode.IncludeBoth column.MaskClipMode = MaskMode.IncludeLiterals ' PadChar and PromptChar properties effect which characters are used as pad character ' and prompt character in masked input cells. Padchar is the character that gets ' substituted in place of an empty character when the MaskMode of ' IncludeLiteralsWithPadding is applied. PromptChar is the character that's used ' for prompting. Default for PadChar is ' ' (space character) and for PromptChar is ' '_' (an underscore). Me.ultraGrid1.DisplayLayout.Bands(0).Columns(0).PadChar = " " Me.ultraGrid1.DisplayLayout.Bands(0).Columns(0).PromptChar = "_" End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void button17_Click(object sender, System.EventArgs e) { UltraGridColumn column = this.ultraGrid1.DisplayLayout.Bands[0].Columns["Phone"]; // Enable masked input in a column by setting the MaskInput property. column.MaskInput = "(###) ###-####"; // Set various mask modes. These mask modes effect how what is included when data // is committed to the cell, when it's displayed and when it's copied. MaskMode of // Raw does not include literals and prompt characters. So for this particular mask, // only thig that is going to be put in the data source will be just the digits, // Literals will be stripped out (in this example, literals are '(', ')', ' ', '-' // characters.) column.MaskDataMode = MaskMode.Raw; column.MaskDisplayMode = MaskMode.IncludeBoth; column.MaskClipMode = MaskMode.IncludeLiterals; // PadChar and PromptChar properties effect which characters are used as pad character // and prompt character in masked input cells. Padchar is the character that gets // substituted in place of an empty character when the MaskMode of // IncludeLiteralsWithPadding is applied. PromptChar is the character that's used // for prompting. Default for PadChar is ' ' (space character) and for PromptChar is // '_' (an underscore). this.ultraGrid1.DisplayLayout.Bands[0].Columns[0].PadChar = ' '; this.ultraGrid1.DisplayLayout.Bands[0].Columns[0].PromptChar = '_'; }