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
Hi:
I have a problem in refreshing a webtreeview.In the sample,first I load a usercontrol in WebForm1.aspx which includes a WebPaneManager,a WebFlyPostBackManager and a button. In the WebUserControl1.ascx, it also contains a WebPaneManager. The WebPaneManager contains a webtreeview. I want to catch the button click event to refresh the webTreeView through the WebFlyPostBackManager. But the refreshing process is very slow. otherwise, if webtreeview is not in a WebPaneManager. such as the WebUserControl2.ascx. the refreshing process will be very fast.
regards
he peng
Please try to put the height initialization in the <td> element instead of <tr> element, so that the modified code should look like following snippet code.
<table ...> <tr> <td style="background-color: yellowgreen; height: 20$ispct;" class="text"> </td> </tr> <tr> <td> <ISWebDesktop:WebSplitter ID="WebSplitter1" runat="server" ...> .... </ISWebDesktop:WebSplitter> </td> </tr> <tr> <td style="background-color: palegreen; height: -80$ispct;"> </td> </tr> </table>
By using the code above, the splitter is no longer have difficulties to be dragged to change the size of table cell. Please let us know your whether it helps or not.
After observe the problematic behavior using your sent sample, it is obvious that refreshing the pane manager (WebUserControl1.ascx) may be the one that heavy and not suggested.
It would be best to limit the refresh only on the treeview as shown in the WebUserControl2.ascx file.
Hope this helps and please let us know your response.
But I have this need, I want to put a treeview in the left pane,a webgrid in the right pane. Is there any solution for this.Otherwise, If I put webtreeview in a Panel.I use webflypostbackmanager to refresh the panel. I will be very fast.But refresh two times more will accur a js error.
I made a simple test by creating another Web User Control, WebUserControl3.ascx, where the WebTreeView is put inside an ASP.NET Panel. However, I was unable to reproduce the Javascript error after refreshing the panel two times or more.
The user controls file that I used to test the scenario is enclosed as attachment. Could you please kindly test the user control file in your local end and let us know your response?
You may make any necessary changes to the file so that it reproduces the Javascript error issue.
Please try to enable RequiresUIRefresh property to have AJAX over Intersoft’s components.
While standard .NET controls can be automatically updated when they have changed, Intersoft controls do not use similar techniques as Intersoft controls provide broad range of scenarios. For instance, there are scenarios where some of the data properties need to be changed, but the user interface does not need to be updated. With property control, developers will have more flexibility to control the behavior of the partial update.
I modified the WebUserControl3.ascx file as shown in the following snippet code and found that the Javascript no longer persist.
WebForm1.aspx
... <div> <ISWebDesktop:WebFlyPostBackManager ID="uiService" runat="server" ServiceUrl="WebForm1.aspx" ServiceType="WebForm" AutoEventWireup="true" Asynchronous="true" BlockPageUIOnBusy="true" EnableUIMode="true"> <FlyPostBackSettings PostInputControls="True" PostViewState="True" PostControlState="true" PostHiddenFields="true" /> </ISWebDesktop:WebFlyPostBackManager> ...
WebUserControl3.ascx.cs
... public void RefreshTreeView(WebFlyPostBackManager uiService) { mvWebTreeView.Nodes.Clear(); int count = 5; for (int i = 0; i < count; i++) { WebTreeViewNode t = new WebTreeViewNode(); t.Text = i.ToString(); t.Name = i.ToString(); mvWebTreeView.Nodes.Add(t); int children = 5; for (int j = 0; j < children; j++) { WebTreeViewNode c = new WebTreeViewNode(); c.Text = i.ToString() + j.ToString(); c.Name = i.ToString() + j.ToString(); t.Nodes.Add(c); } } mvWebTreeView.ExpandAll(); //uiService.ClientAction.RenderControl(Panel1); mvWebTreeView.RequiresUIRefresh = true; uiService.ClientAction.RefreshModifiedControls(); }
Please let us hear your feedback.
After observe the problematic behavior using your sent sample, it is obvious that refreshing the pane manager (WebUserControl1.ascx) may be the one that heavy and not suggested.It would be best to limit the refresh only on the treeview as shown in the WebUserControl2.ascx file.Hope this helps and please let us know your response.
But I have this need, I want to put a treeview in the left pane,a webgrid in the right pane.why Refreshing the treeview is heavy. I did not refresh the pane manager. I just refresh the treeview.
Now use your gived method like this in WebUserControl1.ascx.But the refreshing process is also very slow.
mvWebTreeView.RequiresUIRefresh = true;uiService.ClientAction.RefreshModifiedControls();
Since loading/refreshing WebUserControl that has WebPaneManager which contains WebTreeView inside has proven to be heavy, I’d like to recommend you to put the WebTreeView and WebGrid inside ASP.NET Panel.
I have checked that by using the code in my previous post on November 7, 2010 the reported Javascript error which occurs after refreshing two times is no longer persist.
Since loading/refreshing WebUserControl that has WebPaneManager which contains WebTreeView inside has proven to be heavy, I’d like to recommend you to put the WebTreeView and WebGrid inside ASP.NET Panel.I have checked that by using the code in my previous post on November 7, 2010 the reported Javascript error which occurs after refreshing two times is no longer persist. Please let us hear your feedback.
I know what you mean, but the reason why I use WebPaneManager is my customer want to change the pane's size by using drag and Collapse the pane which contains the treeview.Could you please tell my problem to your developer.
Should you need to have resizable and collapsible behavior as such available in WebPaneManager, please try to use the WebSplitter component.
WebSplitter control is often used on table with contents have varying lengths of data to present, which needs more dynamic navigation to resize the panes.
There are sample files of WebSplitter that you might want to check (in local WebDesktopSamples or in live sample site).
SplittingCellsWithRowSpan.aspx
This sample demonstrates splitting cells with row span, which applies WebSplitter feature, Intelligent Resizing mechanism.
SplittingTwoRows.aspx
SplittingTwoCells.aspx
This sample demonstrates AllowCollapse feature.
SplitterWithAllowCollapse.aspx
This sample demonstrates WebSplitter’s Grip Interactive Style.
Please let us know whether this helps or not.
In the SplittingTwoRows.aspx. I initialize the row's height. And then I cann't drag to change the size of table cell.If I initialize one row's height, the other row cann't change.
<table style="width: 400px; height: 500px; table-layout: fixed; border-collapse: collapse"> <tr style="height:20$ispct;"> <td style="background-color: yellowgreen;" class="text"> </td> </tr> <tr> <td> <ISWebDesktop:WebSplitter ID="WebSplitter1" runat="server" Orientation="Horizontal" Grip="False" GripImageCollapse="../Images/dot.gif" GripImageRestore="../Images/dot.gif"> <SplitterStyle> <Active BaseStyle="Normal"> </Active> <Over BaseStyle="Normal"> </Over> <Normal BackColor="Silver" Overflow="Hidden" OverflowX="Hidden" OverflowY="Hidden"> </Normal> </SplitterStyle> </ISWebDesktop:WebSplitter> </td> </tr> <tr style="height:80$ispct;"> <td style="background-color: palegreen;"> </td> </tr> </table>
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