This doesn't sound like correct behavior to me.
My first thought is that your application may be doing something that causes the grid to scroll upward as a side effect. Possible such causes include resetting the grid's data source, doing anything that causes a Reset notification to be set through the Windows Forms binding manager, or explicitly programmatically scrolling the grid.
Can you provide more information as to what kind of object your grid is bound to (DataSet, custom collection, generic collection, etc.), and which of the grid's events you have handled?
Hi Vince,
In grid I handle the enter key keypress with this code:
GridPrev.ActiveCell.EditorResolved.ExitEditMode(true, true);
This code allow to commit row (hide the little pen on row selector) and exit from edit mode on cell.
In debug I have try to comment, without behaviour changes grid scrol always up, one of this but i need both.
If I comment both CommitRow and ExitEditMode, grid has correct behaviour.
help me please, I don't understant.
thank you very much
Test what happens by replacing your second line with the following:
GridPrev.PerformAction(UltraGridAction.ExitEditMode);
You may also need to move this to before the CommitRow action.
If this doesn't resolve the issue, then this will likely take some in-depth research, at which point I'll pass this information to a Developer Support Engineer to pursue as part of a support request.
Hi, I have do some test.
When user modify cell, and click enter, the application modify some others fields of same and parent row on datasource (dataset).
This seems to be the cause of the problem. I have made a test project which reproduce the problem.
this code are the core for me for reproduce the problem:
{
}
ultraGrid1.ActiveRow.Cells["descrizione"].Value = "descrizione " + r.Next().ToString();
row = row.ParentRow;
if (dr != null)
tosatoandrea said:When user modify cell, and click enter, the application modify some others fields of same and parent row on datasource (dataset).
I have one additional idea: instead of modifying the DataRow directly, modify the column in the corresponding grid row:
UltraGridRow row = ultraGrid1.ActiveRow;while (row.ParentRow != null){ row = row.ParentRow; //DataRow dr = ((DataRowView)row.ListObject).Row; //if (dr != null) // dr["descrizione"] = "descrizione " + r.Next().ToString(); row.Cells["descrizione"] = "descrizione " + r.Next().ToString(); }}
Test this change and let me know if it helps.
I've found the support case that was raised in relation to this thread. Here's a summary:
The behavior is expected because these changes to the data source caused focus to be put elsewhere in the grid. The grid will scroll to bring the active cell/row into view.
As a solution, the above code for the AfterExitEditMode event handler was modified to save a reference to the originally-active row and to activate it again.
using Infragistics.Win.UltraWinGrid;....private void ultraGrid1_AfterExitEditMode(object sender, EventArgs e){ Random r = new Random(); ultraGrid1.ActiveRow.Cells["descrizione"].Value = "descrizione " + r.Next().ToString(); UltraGridRow row = ultraGrid1.ActiveRow; UltraGridRow getRow = ultraGrid1.ActiveRow; while (row.ParentRow != null) { row = row.ParentRow; DataRow dr = ((DataRowView)row.ListObject).Row; if (dr != null) dr["descrizione"] = "descrizione " + r.Next().ToString(); } getRow.Activate();}
base4it, does this help resolve your issue? If not, then I recommend that you submit a support reuqest and attach the sample you're mentioning.
Has this issue been fixed? We have a similar problem in our project. Our grid looks like this:
GirdParentRow
GridChildRow1
GridChildRow2
GridChildRow3
GridChildRow3 is the active row. Our code modifies the DataRow behind GridParentRow. After that GridChildRow1 gets selected. We can provide a sample project if needed.
Sample contains the two approach, modify by cell and datasouce.
Thank you - a sample will be very helpful for our research.
The support request hasn't been logged yet, so you can post the sample in this thread. The Options tab provides a way to attach the file.
ok thanks,
I have a sample project (vs2008, grid 2008.3) that reproduce the problem, if you want, I can send it.
I look forward to news.
thanks to you