FlexGrid は、数値データを編集するために、デフォルトでは数値エディタを使用します。つまりこれは、データ型が Int や Decimal などの数値型のいずれかに設定されている場合です。この FlexGrid の動作は EditOptions プロパティによって制御されます。このプロパティは、EditFlags 列挙を介してさまざまな編集オプションを提供します。提供されるフラグの 1 つとして UseNumericEditor があります。EditOptions プロパティのデフォルト値は All なので、UseNumericEditor フラグは常に ON になります。したがって、数値データの編集時は自動的に数値エディタが有効になります。設計時およびコードから EditOptions プロパティにアクセスできます。
数値エディタ | Format = "C0" の数値エディタ | スピンボタン付きの数値エディタ | 電卓付きの数値エディタ |
---|---|---|---|
設計時に数値エディタを有効または無効にするには、Properties ウィンドウから EditOptions プロパティにアクセスします。
実行時は、EditOptions プロパティで UseNumericEditor フラグをオンに設定する必要があります。以下のコードを使用して、WinForms FlexGrid の EditOptions プロパティを設定します。
数値セル内のデータを書式設定するために、FlexGrid は、Column および Row オブジェクトの Format プロパティを提供します。 数値、通貨、指数など、小数値をサポートする書式の場合、FlexGrid はデフォルトで小数点以下 2 位まで表示します。ただし、表示する小数点以下の桁数は、Format プロパティの値にその数を付加することで指定できます。たとえば、Number 型のセルに小数点以下 3 位まで値を表示する場合は、Format プロパティの値を「N3」または「n3」に指定します。
設計時およびコードから Format プロパティを設定できます。次の表に、数値セルでよく使用される書式をリストします。
書式 | 値 | 説明 |
---|---|---|
数値 | N または n | 単純な数値の書式設定を指定します。 |
通貨 | C または c | 金額の書式設定を指定します。 |
指数表記 | E または e | 指数表記を使用する書式設定を指定します。 |
パーセント | P または p | パーセント値の書式設定を指定します。 |
Custom | ユーザー定義 |
ユーザーから書式文字列の値を取得します。 カスタム文字列はコードでの処理が必要になる場合があります。 |
特定の数値型列の書式を指定するには、Format プロパティを上記の値のいずれかに設定します。この例では、列 3 の書式を小数点以下なしの通貨に設定しました。
次のコードは、WinForms FlexGrid の 1 つの列の書式を設定する方法を示します。
入力時にスピンボタンを使用する数値エディタを作成するには、外部コントロールのインスタンスを割り当てる必要があります。たとえば、NumericUpDown を Editor プロパティに割り当てます。
WinForms FlexGrid でスピンボタンを含む数値エディタを作成するには、次のコードを使用します。
数値エディタでユーザーが電卓を使用して入力できるようにするには、C1Input ライブラリの C1NumericEdit コントロールをエディタとして使用します。それには、C1.Win.C1Input への参照を追加し、C1NumericEdit コントロールのインスタンスを Editor プロパティに割り当てます。外部コントロールをエディタとして使用する方法については、「カスタムエディタ」を参照してください。
電卓付きの数値エディタを作成するには、次のコードを使用します。