iSeller Commerce
iSeller POS Retail
iSeller POS F&B
iSeller POS Express
Crosslight
WebUI
ClientUI
What's New
Download Trial
Web Solution
Mobile Solution
Enterprise Solution
Custom Development
Blog
Community
Latest Development Blogs
ForumPostTopic
Browse By Tag
I know I reported this last year for WebGrid 9. This still occurs in WebGrid 10. I might have found the extra setup causing the issue – just loading a page if the grid is rendered into a hidden element, not just ClientVisible=false.
The SetColumnLabelWidth function is called over 2716 times through what appears to be a call from WGUIEngine.RealignSortIndicators(this.RootTable);
I attached a sample WebGrid with instructions and setup to trigger this.The column is marked as a.sortOrder = “Ascending”
Mike
Thank you for taking the time to provide the sample. By following the instruction, I was able to reproduce the infinite recursive loop in SetColumnLabelWidth if WebGrid is invisible.
Per my test, the reported problem doesn't persist when Visible property is set to false.
<ISWebGrid:WebGrid ID="WebGrid2" runat="server" Height="300px" Width="100%" UseDefaultStyle="True" DataSourceID="AccessDataSource1" Visible="false"> ... </ISWebGrid:WebGrid>
According to the information I got from WebGrid development team, the SetColumnLabelWidth is used to prettify WebGrid column appearance. Preventing this function to work may cause the grid appearing disorderly after set back to visible.
Per my test, this behavior doesn't causing the browser to stop responding; or cpu usage increasing; etc. Please feel free to let me know if there is anything that I might miss during my investigation.
Look forward to hearing back from you.
I also saw what the SetColumnLabelWidth function does to help set the auto width, which has its own "wait until the column/grid is visible" logic.
The issue in our scenario is that the outer DIV (higher up in the DOM) is being hidden by an element/control that has no idea what is in the container, so it doesn't know the grid is there. So it can't call Visible=false or ClientVisible=false.
Can the grid and SetColumnLabelWidth work together to check if any of its parent elements are hidden, and skip the continuous timeout checks per column? Perhaps a single grid "check if visible" timeout (maybe not so aggresive/quick at 10ms) that can then call into the columns to set their label width, etc? I know it can't detect when it becomes visible due to a parent element, so this might be at least a consolidated check.
or
Choose this if you're already a member of Intersoft Community Forum. You can link your OpenID account to your existing Intersoft Social ID.
Choose this if you don't have an Intersoft account yet. Your authenticated OpenID will be automatically linked to your new Intersoft account.
Enter your Wordpress Blogname