I have a WebGrid with a cell of type Button. It has "CellButtonDisplay" set to the default of "OnMouseEnter". So when the mouse is pointed over the cell the button appears, and when the mouse moves away the button disappears.
However if the cell is at the edge of the grid (the first column) and the mouse moves to the left, off the grid, the button does not disappear.
I have put in Javascript to capture the MouseOut event, but it does no better. It will capture the MouseOut event if you stay in the grid, but if you are in the first column and move left, off the grid, the event will not fire. So the button will not disappear.
As a further problem, there is a Calendar control on the left of the grid. If you click on that control, and the calendar pops up covering the left of the grid, guess what? That stupid grid button will still not disappear even though it is covered up. It still shows there right in the middle of the calendar.
So, how do you get the button to disappear?
Hello,
You are right, I reproduced your issue and found same behavior. You can submit this issue at following link:
http://devcenter.infragistics.com/Protected/SubmitSupportIssue.aspx
Thanks
So you are not support?
Can you think of a quick workaround, in the meantime?
Thanks.
You can add new column before your button column with Wight =1px
Hope this helps.
I do not think this will work. Here is why. Actually the first two columns have a button on them. And even if I am in the second column, if I move the mouse fast enough I can get the same problem. I start at the last row with the mouse on the second column. So there is blank space beneath the mouse, but still in the grid. So what I do is to quickly move the mouse down and to the left, avoiding the first column. I cover maybe 1/4 inch, very quickly. If the space is smaller, I would not need to move so fast, just an average move would do it. As a matter of fact, there is already a small space on the left, and if I move very slow the problem does not occur. So I would need a very wide column to prevent this problem, at least so it seems. And the grid currently takes the entire width of the screen. I am trying very hard to preserve space.
I am having this same issue. I just wanted to add a reply so I can keep track of this post.I hope this issue can be resolved soon, because it is rather annoying.
Yep, this is a peer-to-peer forum and while we (Infragistics employees from all departments) are very active here and try to help, in certain cases where we may have indeed discovered what appears to be a bug, the fastest venue to have this addressed is to contact the developer support folks and submit a bug. This way, you will keep track of when the bug is addressed (you will be notified for any progress/resolution). In addition to that, developer support folks are very experienced with the product and can often suggest a solution/workaround/hotfix.
In this particular case, I believe this is the best approach - just follow the link Ivan sent and cross-link this forum thread in the bug report for additional details.
Thanks, Rumen, and Ivan too.
I put in the support request, and got an answer right away. I'll copy it here, since it is short. It didn't exactly work for me (gave me inconsistent behavior), but perhaps it could work for some of the other folks here. You'd likely have to tweak it some.
Response from support:
I have tried to replicate the issue and was able to replicate it. You can use the following code snippet to get around the issue that you are facing:
function UltraWebGrid1_MouseOutHandler(gridName, id, objectType) {
var str= id; var column=str.indexOf('c');
if(column!=-1) {
var cell=igtbl_getCellById(id);
if(cell!=null) {
if(cell.Column.Key=="CustomerID") {
var nextcell=cell.getNextCell();
nextcell.activate();
}
function UltraWebGrid1_ClickCellButtonHandler(gridName, cellId) {
var cell=igtbl_getCellById(cellId); var nextcell=cell.getNextCell(); nextcell.activate();
var cell=igtbl_getCellById(cellId);
The above code activates the next cell so that the button goes away from the view.
As the WebGrid is not able to identify that the focus has been lost so it it does not hide the button.
But you can use the above code to get around this limitation.