GrapeCity.Win.MultiRow.v80 アセンブリ > GrapeCity.Win.MultiRow 名前空間 : CheckBoxCell クラス |
Public Class CheckBoxCell Inherits ButtonCellBase Implements IEditingCell
public class CheckBoxCell : ButtonCellBase, IEditingCell
CheckBoxCellクラスは、チェックボックスコントロールを表示する特別なタイプのCellです。CheckBoxCellはIEditingCellインタフェースを実装しているので、編集コントロールなしで編集できます。現在のセルがCheckBoxCellである場合、ユーザーは単純にクリックするか、スペースキーを押すことによって、セルの値を編集できます。
継承時の注意:
CheckBoxCellから継承した派生クラスに新しいプロパティを追加するときは、必ずCloneメソッドをオーバーライドして、クローニング操作時に新しいプロパティがコピーされるようにしてください。また、基本クラスのCloneメソッドを呼び出して、基本クラスのプロパティが新しいセルにコピーされるようにしてください。
using System; using System.Windows.Forms; using System.Drawing; namespace GrapeCity.Win.MultiRow.SampleCode { public class CheckBoxCellDemo : Form { private GcMultiRow gcMultiRow1 = new GcMultiRow(); private Label label = new Label(); public CheckBoxCellDemo() { this.gcMultiRow1.Dock = DockStyle.Fill; this.Controls.Add(this.gcMultiRow1); this.Load += new EventHandler(Form1_Load); this.gcMultiRow1.CellValueChanged += new EventHandler<CellEventArgs>(gcMultiRow1_CellValueChanged); this.label.Dock = DockStyle.Bottom; this.label.Height = 30; this.label.BackColor = SystemColors.Info; this.label.Text = "Click one CheckBoxCell to change the check state, then press ENTER key to commit value."; this.Controls.Add(label); this.Text = "CheckBoxCell Demo"; } private void Form1_Load(object sender, EventArgs e) { CheckBoxCell checkBoxCell1 = new CheckBoxCell(); checkBoxCell1.ThreeState = true; checkBoxCell1.TrueValue = "Yes"; checkBoxCell1.FalseValue = "No"; checkBoxCell1.IndeterminateValue = "Ignore"; checkBoxCell1.Text = "State"; checkBoxCell1.CheckAlign = ContentAlignment.MiddleRight; Template template1 = Template.CreateGridTemplate(new Cell[] { checkBoxCell1, checkBoxCell1.Clone() as Cell }, 160, AutoGenerateGridTemplateStyles.ColumnHeader | AutoGenerateGridTemplateStyles.RowHeaderAutoNumber); gcMultiRow1.Template = template1; gcMultiRow1.RowCount = 3; } void gcMultiRow1_CellValueChanged(object sender, CellEventArgs e) { //When the value commit, the actual stored value is TrueValue, FalseValue or IndeterminateValue. if (this.gcMultiRow1.CurrentCell.Value != null) { this.label.Text = "The current parsed value is " + this.gcMultiRow1.CurrentCell.Value.ToString(); } } [STAThreadAttribute()] public static void Main() { Application.EnableVisualStyles(); Application.Run(new CheckBoxCellDemo()); } } }
Imports System Imports System.Windows.Forms Imports System.Drawing Imports GrapeCity.Win.MultiRow Public Class CheckBoxCellDemo Inherits Form Friend WithEvents gcMultiRow1 As New GcMultiRow() Private label As New Label() Public Sub New() Me.gcMultiRow1.Dock = DockStyle.Fill Me.Controls.Add(Me.gcMultiRow1) Me.label.Dock = DockStyle.Bottom Me.label.Height = 30 Me.label.BackColor = SystemColors.Info Me.label.Text = "Click one CheckBoxCell to change the check state, then press ENTER key to commit value." Me.Controls.Add(label) Me.Text = "CheckBoxCell Demo" End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load Dim checkBoxCell1 As New CheckBoxCell() checkBoxCell1.ThreeState = True checkBoxCell1.TrueValue = "Yes" checkBoxCell1.FalseValue = "No" checkBoxCell1.IndeterminateValue = "Ignore" checkBoxCell1.Text = "State" checkBoxCell1.CheckAlign = ContentAlignment.MiddleRight Dim template1 As Template = Template.CreateGridTemplate(New Cell() {checkBoxCell1, TryCast(checkBoxCell1.Clone(), Cell)}) gcMultiRow1.Template = template1 gcMultiRow1.RowCount = 3 End Sub Private Sub gcMultiRow1_CellValueChanged(ByVal sender As Object, ByVal e As CellEventArgs) Handles gcMultiRow1.CellValueChanged 'When the value commit, the actual stored value is TrueValue, FalseValue or IndeterminateValue. If Me.gcMultiRow1.CurrentCell.Value <> Nothing Then Me.label.Text = "The current parsed value is " + Me.gcMultiRow1.CurrentCell.Value.ToString() End If End Sub <STAThreadAttribute()> _ Public Shared Sub Main() Application.EnableVisualStyles() Application.Run(New CheckBoxCellDemo()) End Sub End Class
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
GrapeCity.Win.MultiRow.Cell
GrapeCity.Win.MultiRow.ButtonCellBase
GrapeCity.Win.MultiRow.CheckBoxCell