/// <summary>///GridView Add new row/// </summary> Public Sealed classgridnewrowhelper{Private ReadOnlyGridView _view; /// <summary> ///constructor: Press the key to add a new row for the GridView (Tab/enter)/// </summary> /// <param name= "View" >Target GridView</param> PublicGridnewrowhelper (GridView view) {_view=view; _view.hiddeneditor+=_view_hiddeneditor; View. Gridcontrol.editorkeydown+=Gridcontrol_editorkeydown; View. Gridcontrol.keydown+=NewKeyeventhandler (Gridcontrol_keydown); } void_view_hiddeneditor (Objectsender, EventArgs e) { } voidGridcontrol_keydown (Objectsender, KeyEventArgs e) {e.handled=OnKeyDown (E.keycode, e.modifiers); } voidGridcontrol_editorkeydown (Objectsender, KeyEventArgs e) {e.handled=OnKeyDown (E.keycode, e.modifiers); } Private BOOLOnKeyDown (keys keycode, keys modifiers) {if(modifiers = = Keys.none && (keycode = = Keys.enter | | keycode =keys.tab)) {returnCheckaddnewrow (); } return false; } Private BOOLCheckaddnewrow () {if(_view.focusedcolumn.visibleindex = = _view.visiblecolumns.count-1) { if(_view.isnewitemrow (_view.focusedrowhandle)) {_view.posteditor (); _view.updatecurrentrow (); } if(_view.islastrow)returnAddnewrow (); } return false; } Private BOOLAddnewrow () {_view.addnewrow (); _view.focusedcolumn= _view.visiblecolumns[0]; return true; }} How to use: Gridnewrowhelper newrowview=NewGridnewrowhelper (TargetView);
GridView tab/enter key Insert new row