Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
140
WHDG performance problems in latest releases
posted

I had a WHDG that is being loaded from a stored procedure.  I have paging enabled on the grid and with the 1013 build of 10.3 everything worked quite quickly.

After loading 11.1.20111.1006 we noticed that the page was taking far longer to load.  Being unable to find a solution, I downgraded back to 10.3.20103.2164 and the problem exists there too.  I am now back to 10.3.20103.1013 and the WHDG loads quickly again.  Unfortunately 10.3.20103.1013 explodes in IE9 on most pages so staying with this build is not really a solution. 

I have tried pretty much everything I can think of with setting load on demand with the InitialDataBindDepth and the EnableAjax flag to no avail.

The data size for the top level is around 2000 records and around 14250 for the second level.  All I'm running in the codebehind is setting up the DB password and setting the return parameter as a ref cursor.  Here is the grid code on the .aspx page:

 

<ig:WebHierarchicalDataGrid ID="whdgEquipment" runat="server"
                    DataSourceID="whdg_dataSource" DataKeyFields="SEQNUM" InitialDataBindDepth="0"
                    AutoGenerateColumns="False" AutoGenerateBands="false"  Width="95%"
                    StyleSetName="Claymation" StyleSetPath="../Infragistics Themes/ig_res"  AjaxIndicator-Enabled="True"
                    AjaxIndicator-ImageUrl="../images/ajax_activity_indicator.gif" AjaxIndicator-RelativeToControl="False"
                    AjaxIndicator-Location="MiddleCenter" EnableAjax="true">
                   
                    <Columns>
                       
                        <ig:TemplateDataField Key="PS_SELECT" Width="10%">
                            <ItemTemplate>
                                <asp:Button ID="btnPSSelect" Height="20px" runat="server" Text="Select" CausesValidation="False" UseSubmitBehavior="false"
                                    CommandArgument='<%# Eval("SEQNUM") %>' CommandName="PSSelect"                                         
                                    OnCommand="PSClick"></asp:Button>
                            </ItemTemplate>
                        </ig:TemplateDataField>
                       
                        <ig:BoundDataField DataFieldName="SEQNUM" Key="SEQNUM" Hidden="true">
                           
                        </ig:BoundDataField>
                       
                        <ig:BoundDataField DataFieldName="MANUFACTURER" Header-Text="Manufacturer"
                            Key="MANUFACTURER">
                           
                        </ig:BoundDataField>
                       
                        <ig:BoundDataField DataFieldName="PARTNUM" Header-Text="Part #"
                            Key="PARTNUM">
                           
                        </ig:BoundDataField>
                       
                        <ig:BoundDataField DataFieldName="MODELNUM" Header-Text="Model #" Key="MODELNUM">
                           
                        </ig:BoundDataField>
                       
                       
                       
                       
                    </Columns>
                    <Bands>
                        <ig:Band AutoGenerateColumns="false"  DataKeyFields="SEQNUM"
                            DataMember="dv_assets" Key="FILTERED_ASSETS"  Width="90%">
                            <Columns>    
                                    
                                      
                            <ig:TemplateDataField Key="ASSET_SELECT" Width="10%">
                                <ItemTemplate>
                                    <asp:Button ID="btnAssetSelect" runat="server" Text="Select" CausesValidation="False" UseSubmitBehavior="false"
                                    CommandArgument='<%# Eval("SEQNUM") %>' CommandName="AssetSelect"                                       
                                    OnCommand="AssetClick"></asp:Button>
                                </ItemTemplate>
                            </ig:TemplateDataField>
                           
                            <ig:BoundDataField DataFieldName="SEQNUM" Key="SEQNUM" Hidden="true" >
                           
                            </ig:BoundDataField>
                           
                            <ig:BoundDataField DataFieldName="PRODUCT_STRUCTURE_SEQNUM" Key="PRODUCT_STRUCTURE_SEQNUM" Hidden="true" >
                           
                            </ig:BoundDataField>
                                <ig:BoundDataField DataFieldName="SERIALNUM" Header-Text="Serial #"
                                    Key="SERIALNUM">
                                   
                                </ig:BoundDataField>
                               
                                <ig:BoundDataField DataFieldName="BARCODE" Header-Text="Barcode"
                                    Key="BARCODE">
                                   
                                </ig:BoundDataField>
                               
                                <ig:BoundDataField DataFieldName="UIC" Header-Text="UIC"
                                    Key="UIC">
                                   
                                </ig:BoundDataField>
                               
                                <ig:BoundDataField DataFieldName="UPDATESTAMP" Header-Text="Last Updated"
                                    Key="UPDATESTAMP">
                                   
                                </ig:BoundDataField>
                              
                            </Columns>
                           
                           
                        </ig:Band>
                    </Bands>
                    <Behaviors>
                        <ig:Paging Enabled="true" PageSize="20"></ig:Paging>
                       
                   
                    </Behaviors>                  
                   
                    <CollapseButton AltText="Collapse Row" />
                    <ExpandButton AltText="Expand Row" />
                   
                </ig:WebHierarchicalDataGrid>
               
                <ig:WebHierarchicalDataSource ID="whdg_dataSource"
                    runat="server">
                    <DataRelations>
                        <ig:DataRelation ChildDataViewID="dv_assets" ParentDataViewID="dv_prodstructures"
                            ChildColumns="PRODUCT_STRUCTURE_SEQNUM" ParentColumns="SEQNUM"  />
                    </DataRelations>
                    <DataViews>
                        <ig:DataView ID="dv_prodstructures" DataSourceID="sdsProdStructure" />
                        <ig:DataView ID="dv_assets"  DataSourceID="sdsAssets"  />
                    </DataViews>
                   
                </ig:WebHierarchicalDataSource>
                <asp:SqlDataSource ID="sdsProdStructure" runat="server"
                   
                    ProviderName="Oracle.DataAccess.Client"
                    SelectCommand="CIMS.TEST_PACKAGE.GET_FILTERED_PRODSTRUCTURES"
                     OnSelecting="sds_Selecting2"                   
                    SelectCommandType="StoredProcedure">
                    <SelectParameters>
                        <asp:SessionParameter name="VAR_PROGRAM_SEQNUM" SessionField="VAR_PROGRAM_SEQNUM" />
                        <asp:SessionParameter name="VAR_EXTRA_FROM" SessionField="VAR_EXTRA_FROM" />
                        <asp:SessionParameter name="VAR_WHERE" SessionField="VAR_WHERE" />
                        <asp:Parameter Name="FILTERED_PS" Direction="Output" />
                    </SelectParameters>
                   
                </asp:SqlDataSource>
                <asp:SqlDataSource ID="sdsAssets" runat="server"
                    ProviderName="Oracle.DataAccess.Client"
                    SelectCommand="CIMS.TEST_PACKAGE.GET_FILTERED_ASSETS"
                     OnSelecting="sds_Selecting2"                   
                    SelectCommandType="StoredProcedure">
                    <SelectParameters>
                        <asp:SessionParameter name="VAR_PROGRAM_SEQNUM" SessionField="VAR_PROGRAM_SEQNUM" />
                        <asp:SessionParameter name="VAR_EXTRA_FROM" SessionField="VAR_EXTRA_FROM" />
                        <asp:SessionParameter name="VAR_WHERE" SessionField="VAR_WHERE" />
                        <asp:Parameter Name="FILTERED_ASSETS" Direction="Output" />
                    </SelectParameters>
                </asp:SqlDataSource>