自動生成される列をカスタマイズできます。自動生成で得られる結果を部分的に変更したい場合に適した方法です。
上の図では1列目にマスク型セルを設定しています。自動生成される列をカスタマイズするには、コントロールの AutoGeneratingColumn イベントを使用します。このイベントは列が自動生成される際に発生します。
サンプルコード次のサンプルコードは AutoGenerating イベントを使用して「ID」列にマスク型セルを設定します。なお、このサンプルコードではコントロールを ProductCollection に連結しています。Product および ProductCollection クラスの完全なコードは「データ連結の基本」のサンプルコードを参照してください。
XAML |
コードのコピー |
---|---|
<sg:GcSpreadGrid Name="gcSpreadGrid1" ItemsSource="{StaticResource ProductCollection}" AutoGeneratingColumn="gcSpreadGrid1_AutoGeneratingColumn"/> |
C# |
コードのコピー |
---|---|
private void gcSpreadGrid1_AutoGeneratingColumn(object sender, SpreadAutoGeneratingColumnEventArgs e) { switch (e.PropertyName) { case "ID": MaskCellType m_id = new MaskCellType(); m_id.FieldSet.Fields.AddRange(@"\A{3}-\A{3}-\D{4}"); m_id.ImeState = InputMethodState.Off; e.Column.CellType = m_id; break; } } |
Visual Basic |
コードのコピー |
---|---|
Private Sub gcSpreadGrid1_AutoGeneratingColumn(sender As Object, e As SpreadAutoGeneratingColumnEventArgs) Select Case e.PropertyName Case "ID" Dim m_id As New MaskCellType m_id.FieldSet.Fields.AddRange("\A{3}-\A{3}-\D{4}") m_id.ImeState = InputMethodState.Off e.Column.CellType = m_id End Select End Sub |