ultraGrid1.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.FirstCellInGrid).
ultraGrid1.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.entereditmode).
When are you doing this? In what event?
in the Constructor method of the class. basically, i am starting out with an empty grid and want the user to populate it using the 'AddRowOnTop'. i want focus to be in the first field so they can just start typing without having to mouse click. i have been trying to figure out how to programmatically set ActiveRow = the AddRow with no luck. thanks for getting back to me on this.
Hi Mike
I don't have problem with adding rows(this parts works fine), I need to put the cursor on the firts cell when a row is created.
Do you know How do that in.?(C#/winForms)
thanks.
You could try using the AfterRowInsert event to call e.Row.Cells[0].Activate(), assuming that the grid has focus at that point. If you want to make sure that the cell is in edit mode, call grid.PerformAction(UltraGridAction.EnterEditMode) after activating the cell.
-Matt
I have a similar problem. I would like to set focus to the first cell of the TemplateAddRow when a new row is added (i.e. when the template row is clicked). Using e.Row.Cells[0].Activate() or ultraGrid1.ActiveCell = ultraGrid1.Rows.TemplateAddRow.Cells[0] does not seem to work. Any suggestions are welcome
If you click on the TemplateAddRow, then the focus is going to go into the cell that was clicked? You want to force the user into the first cell, even when they explicitly click on a different cell?
My guess is that you are unable to do this because of timing. You are probably setting the ActiveCell before the mouse message has been completely processed, which means your code is working, but then the focus gets taken away again. So you might have to find a better event to do what you want, or perhaps use a BeginInvoke to create a delay before your code is executed.
Thanks for your replay. Maybe I'm trying the wrong solution here. I just want to make sure that the key value is provided first when adding a new row, so that I can check if the entered key value maybe already of an existing row (which means you are updating an existing row instead of creating a new one).
I'm looking for a best practice for maintaining data in an ultragrid. Would there be a simple example somewhere for just creating, updating and deleteing data with an ultragrid (preferably with a TemplateAddRow)?
Hi Mike ,
There is an issue , when I am tabbing it is giving me a "Object reference not set to an instance of an object exception" ..
below is the exception details , when I debugged I got to know that "obj.FocusControl " is null ,pls guide me in this on setting the Focus Control property with some thing from the code.
Exception Message:
Object reference not set to an instance of an object.
---------------------------------------------------------------------------------------------------
Stack Trace:
at views..SearchGrid_KeyDown(Object sender, KeyEventArgs e)
at System.Windows.Forms.Control.OnKeyDown(KeyEventArgs e)
at Infragistics.Win.UltraControlBase.OnKeyDown(KeyEventArgs e)
at Infragistics.Win.UltraWinGrid.UltraGridBase.EditorContainerControlOnKeyDown(KeyEventArgs e)
at Infragistics.Win.UltraWinGrid.UltraGridBase.OnKeyDownForwarded(KeyEventArgs e)
at Infragistics.Win.UltraWinGrid.UltraGridLayout.OnEditorKeyDown(Object sender, KeyEventArgs e)
at Infragistics.Win.EmbeddableEditorBase.RaiseKeyDownEvent(KeyEventArgs e)
at Infragistics.Win.EmbeddableTextBox.OnKeyDown(KeyEventArgs e)
at Infragistics.Win.EmbeddableTextBoxWithUIPermissions.ProcessKeyMessage(Message& msg)
at System.Windows.Forms.Control.WmKeyChar(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.TextBoxBase.WndProc(Message& m)
at System.Windows.Forms.TextBox.WndProc(Message& m)
at Infragistics.Win.EmbeddableTextBoxWithUIPermissions.WndProcInternal(Message& m)
at Infragistics.Win.EmbeddableTextBoxWithUIPermissions.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
For staying the new row of the UltraWinGrid 2010, these lines work for me in the BeforeRowUpdate event:
e.Cancel = True grdTranslationFields.RowUpdateCancelAction = RowUpdateCancelAction.RetainDataAndActivation e.Row.Cells(5).Activate()
Hope that help.
I am not able to put focus in newly added row. I am doing through javascript : My code is
var grid = igtbl_getGridById('<%=uwgSiteAlias.ClientID%>'); var rows = grid.Rows;
var nRow = rows.addNew();var LastRow = rows.getRow(rows.length-1);
var cmd = "<a href='BLOCKED SCRIPTremoveRow()'>remove</a>";
LastRow.getCell(4).setValue(cmd); LastRow.getCell(4).getElement().innerHTML = cmd LastRow.activate(true);
Regards,
Pawan Shah
Hi Seema,
I'm having trouble understanding what you mean, but it sounds like maybe you are trying to perform an operation on the selected text inside a cell without losing focus. If you use a button control, then the button will take focus away from the grid and you will lose the selection - so that won't work. Typically, formatting buttons like are would be toolbar buttons which do not take focus. It's the same with Cut, Copy, and Paste - you have to use a control that doesn't take the focus away. Otherwise you lose the context of what you are cutting, copying, or pasting.
hi,
I am also facing the same issue, where i am selecting few characters from the activecell text and then want to color only those characters.
but the grid looses its editmode property and if i explicitely add it by using
PerformAction(UltraGridAction.EnterEditMode);
it looses the selection event thought the cell regains its editmode property.
Can i get the selection of characters after using
PerformAction(UltraGridAction.EnterEditMode); funtion.
Please let me know, or can you provide some alternative for the same.
Thanks & Regards,
Seema Sharma