Hello,
I have an application that uses the XamGrid and i would like to navigate throught it by buttons.
When the XamGrid is in a "normal" state as that :
The navigation i implemented works fine (even with filters).
The problem concern the group, when i want to pass to the next element as that :
I got an exception because the next element taken is the value inside the cell (here a string).
Is there a way to solve it ?
I join a .sln to show you how i implemented the navigation.
Regards.
Is anyone can help me ?
Hi,
I ran you sample and realized that you need to determine if the activecell is part of a GroupByRow and decide what to do if it is.
I added some code to your AllerSuivant event to give you the idea.
Please let me know if you have any questions.
the code is in the solution i attached is the precedent post, i marked the line with a note in the file "NavigationGrilleInfragistics.xaml.cs" in the function chercher_premier_item at line 361.
It looks as if you are relying on activeCell and activeRow throughout your sample, which is going to cause you performance issues when you try to re-position using your buttons.
You should use scrollcellintoview. I commented out your code in the chercher_dernier_item and chercher_premier_item functions which resolves the issue to the first or last row.
//NOTE : this row take too much time the first time
//grid.ActiveItem = row.Data;
grid.ScrollCellIntoView(row.Cells[0]);
row.IsSelected = true;
But you will need to work thru the logic issues that are caused by your not now having an active row for your other code.
thanks for the reply, effectively it solve the performance issue but in my case in need to have the data rely on activecell.
Is there another way to rely the ActiveItem to the data ?
There is a dependency property ActiveItem that you can bind to a property in your VM to get the currently active cell or row.
I was wondering if you had further questions.
Hi Fabian,
Thanks for posting your solution. I’m sure it will be interesting to others.
Please let me know if you have further questions.
I tried you suggestion bu it didn't work, i already had a binding on the ActiveItem and affect it or the element produce the same issue.
But i found a solution by using the following properties :
- ScrollCellIntoView : it shows the good element,
- IsSelected : on the row to highlight it,
- IsActive : on the first cell of the row to get the data of the row.
I attach the solution if anyone else is interest.
Regards ans thanks for the help.
Fabien.
HI,
I didn't see your response. Please take the time you need to review.