作成日: 2021/12/21 最終更新日: 2022/04/26
文書種別
使用方法
詳細
FlexGridでは、編集に用いるエディタを変更するため、StartEditイベントやSetupEditorイベントを利用することができます。
StartEditイベントは編集を開始したときに発生し、この時点ではEditorプロパティはまだnullであり、カスタムエディタなど新規のエディタをEditorプロパティに割り当てることができます。
一方、SetupEditorイベントはエディタコントロールが作成された後に発生し、Editorプロパティに既存のエディタを設定して様々なカスタマイズに使用します。
※ここでは、Editorプロパティに新規エディタを設定することはできませんのでご留意ください。
各イベントにはこのような特長があるため、FlexGrid全体に新しいエディタを割り当てたい場合には、StartEditイベントを使用してください。このとき、列のEditorプロパティではなく、C1FlexGridBase.Editorプロパティに割り当てます。
以下に、新しいエディタとしてC1TextBoxを割り当て、入力文字数をbyte単位で限定するサンプルコードを記載します。
◎サンプルコード(VB)
Private Sub C1FlexGrid1_StartEdit(sender As Object, e As RowColEventArgs) Handles C1FlexGrid1.StartEdit
C1FlexGrid1.Editor = New C1.Win.C1Input.C1TextBox() With {
.MaxLength = 7,
.MaxLengthUnit = C1.Win.C1Input.LengthUnit.Byte
}
End Sub
◎サンプルコード(C#)
private void c1FlexGrid1_StartEdit(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
{
c1FlexGrid1.Editor = new C1.Win.C1Input.C1TextBox()
{
MaxLength = 7,
MaxLengthUnit = C1.Win.C1Input.LengthUnit.Byte
};
}
また、列ごとに新しいエディタを割り当てるには、LoadイベントやBeforeEditイベントで設定します。