public virtual void DrawButton(Graphics paint, Rectangle cellRect, Rectangle buttonRect, string cellValue, ButtonCellStyleInfo style, DataColumnBase column, Syncfusion.WinForms.GridCommon.ScrollAxis.RowColumnIndex rowColumnIndex, int buttonIndex = 0) { // No need to draw the button when its not visible on the cell bounds. if (cellRect.Width < 5) { return; } var clipBound = paint.ClipBounds; var cellButton = (column.GridColumn as GridTextButtonColumn).CellButton; bool drawHovered = false; DrawBackground(paint, buttonRect, style, drawHovered, cellButton); if (cellRect.Contains(buttonRect)) { paint.SetClip(buttonRect); } else if (cellRect.IntersectsWith(buttonRect)) { Rectangle intersectRect = Rectangle.Intersect(cellRect, buttonRect); paint.SetClip(intersectRect); } if (cellButton.Image != null) { var imageSize = cellButton.Image.Size.IsEmpty ? cellButton.Image.Size : Size.Empty; Rectangle imageRectangle = buttonRect; DrawImage(paint, imageRectangle, cellButton.Image); } paint.SetClip(cellRect); DrawBorder(paint, buttonRect, style, drawHovered); paint.SetClip(clipBound); }
protected override void OnInitializeEditElement(DataColumnBase column, Syncfusion.WinForms.GridCommon.ScrollAxis.RowColumnIndex rowColumnIndex, TextBox uiElement) { base.OnInitializeEditElement(column, rowColumnIndex, uiElement); uiElement.KeyDown += uiElement_KeyDown; }