GrapeCity MultiRow Windows Forms Documentation
ThreeState Property
Example 


Gets or sets a value that indicates whether the check box cell allows three check states rather than two.
Syntax
<DefaultValueAttribute()>
<SRDescriptionAttribute("Indicates whether the CheckBoxCell allows three check states rather than two.")>
<SRCategoryAttribute("Behavior")>
Public Property ThreeState As Boolean
Dim instance As CheckBoxCell
Dim value As Boolean
 
instance.ThreeState = value
 
value = instance.ThreeState
[DefaultValue()]
[SRDescription("Indicates whether the CheckBoxCell allows three check states rather than two.")]
[SRCategory("Behavior")]
public bool ThreeState {get; set;}

Property Value

true if the CheckBoxCell is able to display three check states; otherwise, false if binary mode is enabled. The default is false.
Remarks

If this property's value is false, the cell's value can be edited to true or false.

If this property's value is true, the cell's value can be edited to one of the System.Windows.Forms.CheckState values. System.Windows.Forms.CheckState.Checked is equal to true, System.Windows.Forms.CheckState.Unchecked is equal to false, System.Windows.Forms.CheckState.Indeterminate means it is not clear if the value is true or false.
Example
The following code example shows the CheckBoxCell properties. You can set the ThreeState to true, and set each state's stored value through TrueValue, FalseValue, and IndeterminateValue. You can also change the Text and CheckAlign properties.
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 commits, 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 commits, 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
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

CheckBoxCell Class
CheckBoxCell Members

 

 


Copyright © GrapeCity, inc. All rights reserved.