FlexGrid for WinForms
数値
> エディタ > 数値

FlexGrid は、数値データを編集するために、デフォルトでは数値エディタを使用します。つまりこれは、データ型が Int や Decimal などの数値型のいずれかに設定されている場合です。この FlexGrid の動作は EditOptions プロパティによって制御されます。このプロパティは、EditFlags 列挙を介してさまざまな編集オプションを提供します。提供されるフラグの 1 つとして UseNumericEditor があります。EditOptions プロパティのデフォルト値は All なので、UseNumericEditor フラグは常に ON になります。したがって、数値データの編集時は自動的に数値エディタが有効になります。設計時およびコードから EditOptions プロパティにアクセスできます。

数値エディタ Format = "C0" の数値エディタ スピンボタン付きの数値エディタ 電卓付きの数値エディタ
組み込み数値エディタ 通貨が表示された組み込み数値エディタ スピンボタンが表示された組み込み数値エディタ 電卓付きの組み込み数値エディタ

設計時

設計時に数値エディタを有効または無効にするには、Properties ウィンドウから EditOptions プロパティにアクセスします。

設計時の編集オプションプロパティ

実行時

実行時は、EditOptions プロパティで UseNumericEditor フラグをオンに設定する必要があります。以下のコードを使用して、WinForms FlexGrid の EditOptions プロパティを設定します。

// すべてのフラグをオンに設定します            
c1FlexGrid1.EditOptions = C1.Win.C1FlexGrid.EditFlags.All;

// UseNumericEditorフラグのみを設定します
// c1FlexGrid1.EditOptions = C1.Win.C1FlexGrid.EditFlags.UseNumericEditor;
' すべてのフラグをオンに設定します            
c1FlexGrid1.EditOptions = C1.Win.C1FlexGrid.EditFlags.All

' UseNumericEditorフラグのみを設定します
' c1FlexGrid1.EditOptions = C1.Win.C1FlexGrid.EditFlags.UseNumericEditor

数値セルの書式設定

数値セル内のデータを書式設定するために、FlexGrid は、Column および Row オブジェクトの Format プロパティを提供します。 数値、通貨、指数など、小数値をサポートする書式の場合、FlexGrid はデフォルトで小数点以下 2 位まで表示します。ただし、表示する小数点以下の桁数は、Format プロパティの値にその数を付加することで指定できます。たとえば、Number 型のセルに小数点以下 3 位まで値を表示する場合は、Format プロパティの値を「N3」または「n3」に指定します。

メモ:このプロパティは、保存されている値には影響しません。その値が実行時どのように表示されるかにのみ影響します。セルの書式設定された値にアクセスするには、C1FlexGrid クラスの GetDataDisplay(Int32, Int32) メソッドを使用します。

設計時およびコードから Format プロパティを設定できます。次の表に、数値セルでよく使用される書式をリストします。

書式 説明
数値 N または n 単純な数値の書式設定を指定します。
通貨 C または c 金額の書式設定を指定します。
指数表記 E または e 指数表記を使用する書式設定を指定します。
パーセント P または p パーセント値の書式設定を指定します。
Custom ユーザー定義

ユーザーから書式文字列の値を取得します。

カスタム文字列はコードでの処理が必要になる場合があります。

設計時

  1. デザインビューで、FlexGrid スマートタグをクリックして C1FlexGrid タスクメニューを開きます。
  2. [列タスク]オプションをクリックし、Format String プロパティに移動します。
  3. 省略符ボタンをクリックして[書式文字列]ダイアログを開きます。
  4. 左のリストボックスから、[通貨]などの必要な書式を選択します。
  5. ダイアログの右側から、[小数点以下の桁数]などの書式固有のプロパティを選択します。

実行時

特定の数値型列の書式を指定するには、Format プロパティを上記の値のいずれかに設定します。この例では、列 3 の書式を小数点以下なしの通貨に設定しました。

次のコードは、WinForms FlexGrid の 1 つの列の書式を設定する方法を示します。

// 小数点なしの通貨形式を設定します  
c1FlexGrid1.Cols[3].Format = "C0";            
' 小数点なしの通貨形式を設定します  
c1FlexGrid1.Cols(3).Format = "C0"    

スピンボタンを使用した入力

入力時にスピンボタンを使用する数値エディタを作成するには、外部コントロールのインスタンスを割り当てる必要があります。たとえば、NumericUpDownEditor プロパティに割り当てます。

WinForms FlexGrid でスピンボタンを含む数値エディタを作成するには、次のコードを使用します。

// NumericUpDownコントロールを2番目の列のエディタとして割り当てます  
c1flexGrid1.Cols[2].Editor = new NumericUpDown();
' NumericUpDownコントロールを2番目の列のエディタとして割り当てます
c1flexGrid1.Cols(2).Editor = New NumericUpDown()

電卓を使用した入力

数値エディタでユーザーが電卓を使用して入力できるようにするには、C1Input ライブラリの C1NumericEdit コントロールをエディタとして使用します。それには、C1.Win.C1Input への参照を追加し、C1NumericEdit コントロールのインスタンスを Editor プロパティに割り当てます。外部コントロールをエディタとして使用する方法については、「カスタムエディタ」を参照してください。

電卓付きの数値エディタを作成するには、次のコードを使用します。

// NumericUpDownコントロールを2番目の列のエディタとして割り当てます
c1flexGrid1.Cols[2].Editor = new C1NumericEdit(){ShowUpDownButtons=false};
' NumericUpDownコントロールを2番目の列のエディタとして割り当てます
c1flexGrid1.Cols(2).Editor = New C1NumericEdit() With 
  {
      .ShowUpDownButtons = False
  }
         
関連トピック