Class GridDropDownGridCellRenderer
Defines the renderer part of a drop-down grid cell that lets users drop-down a grid from a cell just like a combo box.
Inheritance
Inherited Members
Namespace: Syncfusion.Windows.Forms.Grid
Assembly: Syncfusion.Grid.Windows.dll
Syntax
public class GridDropDownGridCellRenderer : GridDropDownCellRenderer, IQueryFocusInside, IGridDropDownCell, IPopupParent, IPopupItem, IDisposable
Remarks
A renderer is created for each GridCellModelBase and GridControlBase. There can be several renderers associated with one GridDropDownGridCellModel if several views display the same GridModel.
The following table lists some characteristics about the DropDownGrid cell type:
Item | Description |
---|---|
CellType | DropDownGrid |
Renderer | GridDropDownGridCellRenderer |
Model | GridDropDownGridCellModel |
XP Themes Support | Yes |
Cell Button | GridCellComboBoxButton |
Interactive | Edit with Text Input or DropDown |
Control | GridDropDownEditPartControl |
DropDown Control | GridControl |
Floating Support | No |
Base Type | GridDropDownCellRenderer |
The cell's behavior and appearance can be customized with the following properties of the GridStyleInfo class:
PropertyName | Description |
---|---|
AllowEnter (System.Boolean) | Gets / sets if pressing the <Enter>-Key should insert a new line into the edited text. (Default: False) |
BaseStyle (System.String) | The base style for this style instance with default values for properties that are not initialized for this style object. (Default: String.Empty) |
Borders (GridBordersInfo) | Top, left, bottom, and right border settings. (Default: GridBordersInfo.Default) |
CellAppearance (GridCellAppearance) | Specifies if cell edges shall be drawn raised, sunken, or flat (default). (Default: GridCellAppearance.Flat) |
CellTipText (System.String) | ToolTip text to be displayed when user hovers mouse over cell. (Default: String.Empty) |
CellType (System.String) | DropDownGrid (Default: Text Box) |
CellValue (System.Object) | This property holds the cell value. Although the cell value is typically a string, it can also be any other primitive type such as int, byte, enum, or any custom type that is derived from System.Object. (Default: String.Empty) |
CellValueType (System.Type) | Specifies the preferred System.Type for cell values. When you assign a value to the GridStyleInfo object, the value will be converted to this type. If the value cannot be converted, Error will contain error information. (Default: NULL) |
Clickable (System.Boolean) | Specifies if the drop-down button can be clicked. If set to False, the button will be drawn grayed out. See Enabled how to disable activating the drop-down cell. (Default: True) |
CultureInfo (System.Globalization.CultureInfo) | The culture information holds rules for parsing and formatting the cell's value. (Default: NULL) |
Enabled (System.Boolean) | Specifies if the cell can be activated as current cell or if cell should be skipped when moving the current cell. When disabled, the drop-down button can still be clicked. You should also disable Clickable if you do not want the user to click the drop-down button. (Default: True) |
Error (System.String) | Holds error information if a value could not be converted to the System.Type specified with CellValueType. (Default: String.Empty) |
Font (GridFontInfo) | The font for drawing text. (Default: GridFontInfo.Default) |
Format (System.String) | Gets / sets the format mask for formatting the cell value. You can specify numeric format strings, date format strings, or enumeration format strings as discussed in the section "Format Specifiers and Format Providers" of the .NET Framework Developers Guide (see ms-help://MS.VSCC/MS.MSDNVS/cpguide/html/cpconformatspecifiersformatproviders.htm) (Default: String.Empty) |
HorizontalAlignment (GridHorizontalAlignment) | Specifies horizontal alignment of text in the cell. This does not affect the position of the drop-down button. (Default: GridHorizontalAlignment.Left) |
HotkeyPrefix (System.Drawing.Text.HotkeyPrefix) | Specifies how hot-key prefixes should be displayed. Hot-keys are indicated in text with an '&' (ampersand). When you enable the hot-key prefix, the specific characters can be displayed underlined or regular. The '&' will not be displayed. (Default: HotkeyPrefix.Show) |
ImageIndex (System.Int32) | Specifies an index for an image in the ImageList of a GridStyleInfo instance. The image is only shown in the text field, not in the drop-down list. (Default: -1) |
ImageList (System.Windows.Forms.ImageList) | The ImageList that holds a collection of images. Cells can choose images with the ImageIndex property in a GridStyleInfo instance. (Default: NULL) |
Interior (BrushInfo) | Lets you specify a solid backcolor, gradient, or pattern style with both back and forecolor for a cell's background. (Default: SystemColors.Window) |
MaxLength (System.Int32) | Limits the number of characters the user can type into the cell. Note: When selecting a text from a choice list or when pasting text, the text can be longer. Additional validation is necessary on your side. (Default: 0) |
ReadOnly (System.Boolean) | Specifies if cell contents can be modified by the user. The user can still drop-down the grid panel but changes will not be saved back into the text field. (Default: False) |
ShowButtons (GridShowButtons) | Specifies when to show or display the drop-down button. Possible choices are: show the button only for the current cell, always show buttons, or never show buttons. (Default: GridShowButtons.Show) |
Text (System.String) | Gets / sets the value as a string. If a CellValueType is specified, the text will be parsed and converted to the type specified with CellValueType using any CultureInfo information. (Default: String.Empty) |
TextAlign (GridTextAlign) | Align text left of button elements (which is typical for combo boxes). Or align text right of button elements. (Default: GridTextAlign.Default) |
TextColor (System.Drawing.Color) | Lets you specify the color for drawing the cell text. (Default: SystemColors.WindowText) |
TextMargins (GridMarginsInfo) | Holds text margins in pixels. When drawing a cell this specifies the empty area between the text rectangle and the borders of the client rectangle of the cell. The client rectangle is the cell rectangle without buttons and borders. (Default: GridMarginsInfo.Default) |
Themed (System.Boolean) | Specifies if cell should be drawn using Windows XP themes when ThemesEnabled has been set. (Default: True) |
Trimming (System.Drawing.StringTrimming) | Indicates how text is trimmed when it exceeds the edges of the cell text rectangle. (Default: StringTrimming.Character) |
ValidateValue (GridCellValidateValueInfo) | Holds validation rules for the cell value that are being checked before any user changes are committed to the grid cells style object. (Default: NULL) |
VerticalAlignment (GridVerticalAlignment) | Specifies vertical alignment of text and the drop-down button in the cell. (Default: GridVerticalAlignment.Top) |
WrapText (System.Boolean) | Specifies if text should be wrapped when it does not fit into a single line. (Default: True) |
Constructors
GridDropDownGridCellRenderer(GridControlBase, GridCellModelBase)
Initializes a new GridDropDownGridCellRenderer object for the given GridControlBase and GridCellModelBase.
Declaration
public GridDropDownGridCellRenderer(GridControlBase grid, GridCellModelBase cellModel)
Parameters
Type | Name | Description |
---|---|---|
GridControlBase | grid | The GridControlBase that displays this cell renderer. |
GridCellModelBase | cellModel | The GridCellModelBase that holds data for this cell renderer that should be shared among views. |
Remarks
References to GridControlBase, and GridCellModelBase will be saved.
Methods
ChildClosing(IPopupChild, PopupCloseType)
Called to indicate that the popup child was closed in the specified mode.
Declaration
public override void ChildClosing(IPopupChild childUI, PopupCloseType popupCloseType)
Parameters
Type | Name | Description |
---|---|---|
IPopupChild | childUI | Popup child. |
PopupCloseType | popupCloseType | The way in which the popup child was closed. |
Overrides
CreateInnerControl(out GridControlBase)
This method is called to create the grid control that is dropped-down.
Declaration
protected virtual Control CreateInnerControl(out GridControlBase grid)
Parameters
Type | Name | Description |
---|---|---|
GridControlBase | grid | The grid control |
Returns
Type | Description |
---|---|
System.Windows.Forms.Control | The control that is shown inside the drop-down container. |
Remarks
You should override this method in your derived class and create your own grid class and initialize it with data that fits your needs.
You don't have to call the base class version.
The default version of this method simply creates a grid that displays the same data as the parent grid and embeds it into a GridRecordNavigationControl.
This is of course just for demonstration purposes and probably not of much use in your specific applications.
Examples
The following code creates a grid that displays the same data as the parent grid and embeds it into a GridRecordNavigationControl.
protected virtual Control CreateInnerControl(out GridControlBase grid)
{
grid = Grid.CreateNewControl(this.dropdownContainer, 0, 0) as GridControlBase;
grid.Dock = DockStyle.Fill;
grid.DropDownContainerParent = this.dropdownContainer;
GridRecordNavigationControl recordNavigationControl1 = null;
recordNavigationControl1 = new GridRecordNavigationControl (grid);
recordNavigationControl1.Dock = DockStyle.Fill;
recordNavigationControl1.TabIndex = 0;
return recordNavigationControl1;
}
DropDownContainerShowedDropDown(Object, EventArgs)
Occurs after the popup child was dropped down and made visible.
Declaration
public override void DropDownContainerShowedDropDown(object sender, EventArgs e)
Parameters
Type | Name | Description |
---|---|---|
System.Object | sender | The source of the event. |
System.EventArgs | e | The System.EventArgs that contains Event data. |
Overrides
DropDownContainerShowingDropDown(Object, CancelEventArgs)
Occurs when the drop down container is about to be shown.
Declaration
public override void DropDownContainerShowingDropDown(object sender, CancelEventArgs e)
Parameters
Type | Name | Description |
---|---|---|
System.Object | sender | The source of the event. |
System.ComponentModel.CancelEventArgs | e | Event data. |
Overrides
InitializeDropDownContainer()
Declaration
protected override void InitializeDropDownContainer()
Overrides
OnCloseDropDown(PopupCloseType)
This is called from GridCurrentCell.CloseDropDown.
Declaration
protected override void OnCloseDropDown(PopupCloseType reason)
Parameters
Type | Name | Description |
---|---|---|
PopupCloseType | reason |
Overrides
Remarks
If your renderer supports dropped-down state, the drop-down window should be made closed at this time.
OnDeactivating()
Closes the DropDown if the CurrentCell is deactivated along with BrowseOnly property
Declaration
protected override bool OnDeactivating()
Returns
Type |
---|
System.Boolean |
Overrides
OnGridGotFocus(EventArgs)
Called when the parent grid of this cell renderer gets the focus.
Declaration
protected override void OnGridGotFocus(EventArgs e)
Parameters
Type | Name | Description |
---|---|---|
System.EventArgs | e | The System.EventArgsthat contains event data. |
Overrides
OnInitialize(Int32, Int32)
This method gets called from the cell renderer's initialize method. Override this method if you need to any initialization for the current cell.
Declaration
protected override void OnInitialize(int rowIndex, int colIndex)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | rowIndex | The row index. |
System.Int32 | colIndex | The column index. |
Overrides
TextBoxGotFocus(Object, EventArgs)
Handles the TextBoxGotFocus(Object, EventArgs) event of the text box and raises a CurrentCellControlGotFocus event.
Declaration
protected override void TextBoxGotFocus(object sender, EventArgs e)
Parameters
Type | Name | Description |
---|---|---|
System.Object | sender | The source of the event. |
System.EventArgs | e | Event data. |