GrapeCity MultiRow Windows Forms Documentation
EditType Property (Cell)
Example 


Gets the type of the cell's hosted editing control.
Syntax
<BrowsableAttribute(False)>
Public Overridable ReadOnly Property EditType As Type
Dim instance As Cell
Dim value As Type
 
value = instance.EditType
[Browsable(false)]
public virtual Type EditType {get;}

Property Value

A System.Type value that represents the type of the cell's hosted editing control.
Remarks
A derived cell type overrides this property to return the type of its hosted editing control. If the cell does not have an editing control, such as ProgressBarCell, the EditType property returns a null reference (Nothing in Visual Basic).
Example
The following code example shows how to use this property in a custom cell. This code example is part of a larger example provided for the IEditingControl class.
public class ListBoxCell : Cell
    {
        public override Type EditType
        {
            get
            {
                return typeof(ListBoxEditingControl);
            }
        }

        List<string> _items = new List<string>();

        public List<string> Items
        {
            get
            {
                return _items;
            }
        }

        protected override void InitializeEditingControl(int rowIndex, object formattedValue, CellStyle style)
        {
            // Apply the cell settings to editing control. 
            base.InitializeEditingControl(rowIndex, formattedValue, style);

            ListBoxEditingControl listBoxEditingControl = this.GcMultiRow.EditingControl as ListBoxEditingControl;

            for (int i = 0; i < this._items.Count; i++)
            {
                listBoxEditingControl.Items.Add(this._items[i]);
            }

            listBoxEditingControl.FormattedValue = formattedValue;
        }

        protected override void TerminateEditingControl(int rowIndex)
        {
            ListBoxEditingControl listBoxEditingControl = this.GcMultiRow.EditingControl as ListBoxEditingControl;
            
            // For performance reasons, MultiRow uses the same instance for all cells.
            // When leaving edit mode, clear items to prepare editing control for use next time.
            listBoxEditingControl.Items.Clear();

            base.TerminateEditingControl(rowIndex);
        }

        public override object Clone()
        {
            // When you derive from Cell and add new properties to the derived class, be sure to
            // override the Clone method to copy the new properties during cloning operations. 
            // You should also call the base class's Clone method so that the properties of the 
            // base class are copied to the new cell. 
            ListBoxCell listBoxCell = base.Clone() as ListBoxCell;

            listBoxCell.Items.AddRange(this.Items);

            return listBoxCell;
        }
    }
Public Class ListBoxCell
    Inherits Cell
    Public Overloads Overrides ReadOnly Property EditType() As Type
        Get
            Return GetType(ListBoxEditingControl)
        End Get
    End Property

    Private _items As New List(Of String)()

    Public ReadOnly Property Items() As List(Of String)
        Get
            Return _items
        End Get
    End Property

    Protected Overloads Overrides Sub InitializeEditingControl(ByVal rowIndex As Integer, ByVal formattedValue 
As Object, ByVal style As CellStyle)
        ' Apply the cell settings to editing control. 
        MyBase.InitializeEditingControl(rowIndex, formattedValue, style)

        Dim listBoxEditingControl As ListBoxEditingControl = TryCast(Me.GcMultiRow.EditingControl, 
ListBoxEditingControl)


        For i As Integer = 0 To Me._items.Count - 1
            listBoxEditingControl.Items.Add(Me._items(i))
        Next

        listBoxEditingControl.FormattedValue = formattedValue
    End Sub

    Protected Overloads Overrides Sub TerminateEditingControl(ByVal rowIndex As Integer)
        Dim listBoxEditingControl As ListBoxEditingControl = TryCast(Me.GcMultiRow.EditingControl, 
ListBoxEditingControl)

        ' For performance reasons, MultiRow uses the same instance for all cells.
        ' When leaving edit mode, clear items to prepare the editing control for use next time.
        listBoxEditingControl.Items.Clear()

        MyBase.TerminateEditingControl(rowIndex)
    End Sub

    Public Overloads Overrides Function Clone() As Object
        ' When you derive from Cell and add new properties to the derived class, be sure to
        ' override the Clone method to copy the new properties during cloning operations. 
        ' You should also call the base class's Clone method so that the properties of the 
        ' base class are copied to the new cell. 
        Dim listBoxCell As ListBoxCell = TryCast(MyBase.Clone(), ListBoxCell)

        listBoxCell.Items.AddRange(Me.Items)

        Return listBoxCell
    End Function
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

Cell Class
Cell Members
IEditingControl Interface

 

 


Copyright © GrapeCity, inc. All rights reserved.