We have a ultra grid which is having custom controls embedded in individual cells. When the grid cell is activated then its edit control get activated and the text of this control is shown over the horizontal scroll bar (if cell is partially visible and some part of the cell is below the scroll bar). Please provide a solution to fix the issue.
Hi,
How are you embedding controls in the grid? Are you implementing this yourself or are you using the UltraControlContainerEditor.
For the former, I'm not sure how I can help you, since I don't have any way of knowing what your code is doing.
For the latter, this might be a bug, and you should get the latest service release to see if it is already fixed.
How to get the latest service release - Infragistics Community
We are using UltraControlContainerEditor. We applied the provide hot fix but still issue is appearing.
Hello,
I have logged this as a development issue.
As we need this fix very urgently, can you please let me know the status for this issue and by when can we get this...
Our developers looked into this issue, and they determined that it's being caused by performing EnterEditMode in the MouseEnterElement event.
We know that this issue is appearing due to EnterEditMode but we have to use this function. If the issue is because of this function then what is the alternative of this?
I probably wasn't clear enough in my last post. It's not the EnterEditMode itself that's causing the issue. It's performing EnterEditMode in the MouseEnterElement event that's causing the issue. Our developers do not recommend doing that with the UltraGrid.
There's no way putting the cell into edit mode like this is going to work properly.
What I would do is use another instance of the same UserControl as the RenderingControl of the cell so that the cell looks the same whether it's rendering or editing.
Then you could expose a method on your control that takes in a point and returns the area within the control that the point is over. You could then handle the MouseMove on the grid and translate the point in the grid into a point within the cell and pass that translated point into your UserControl to determine where it is and show the appropriate tooltip.
We need to edit the cell on mouse over because, we have assigned the cell with a user control having more than one lable in a row. On the basis of the mouse over the lable, we are displaying their text as tool tip. this user control is assigned to cell using UltraControlContainerEditor. Without editing the cell, we are not able to get that user control object and due to this we are not able to show the tooltip. So please suggest.
In the MouseEnterElement event, the sample code is watching for when the mouse moves over a Cell.
When the mouse moves over a cell, the code sets a flag, activates the row, then the cell, then calls PerformAction to EnterEditMode on that cell.
This is very strange UI, but aside from that, the flag is cancelling the BeforeRowRegionScroll event. So when PerformAction is called to enter edit mode on the cell, the UltraControlContainerEditor is showing the EditingControl over the cell, but it doesn't fit and it ends up covering up the scrollbars. The grid tries to scroll the row into view, but the flag prevents it from doing so.
Now... I understand why you are adding the flag. If you remove this flag, what happens is that the row is scrolled into view when it becomes active, which places the mouse over a different cell, which then becomes activated and the grid scrolls all the way to the bottom.
But what this sample is doing is just a contradiction. In order to go into edit mode properly, this row MUST be scrolled into view, and not scrolling it into view means that the MouseEnterElement event will fire repeatedly. It's not going to work.
So the question here is... why are you placing a cell into edit mode whenever the mouse moves over it? This seems like a very strange UI to me and it will cause all sorts of problems. For example, suppose a user clicks on a cell and them moves the mouse away from that cell so that it's out of the way when they are typing. If they happen to move the mouse over another cell, the cell they want to edit will go out of edit mode and the cell they moused over will enter edit mode. They will end up typing in the wrong cell.