PDA

View Full Version : [CLOSED] Loading mask for the tab panel



arjunrvasisht
Feb 13, 2015, 4:21 AM
Hello,
I have three sub panels inside a tab panel. Each panel has a grid panel in it. How do I use loading mask for each grid.?
Currently I have used laoding mask only for the panel. If I use laoding mask for all the panels or grid then any one of the loading mask show up.
Since I have a huge data being loaded in other panels if one of the grid loads then the loading mask ends and I will have other gridpanels showing the empty grid message for some time and then it loads the grid. How can I use loading mask for other grids too.
Below is the aspx code :


<ext:TabPanel ID="Tabpnl" runat="server" ActiveIndex="0" Layout="FitLayout">
<TopBar>
<ext:Toolbar ID="TBarMilestonePopUp" runat="server">
<Items>
<ext:Container ID="CntTBarMilestonePopUp" runat="server">
<Content>
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<%--
Related to US JIRA Ticket AP3-746
Added OnClientClick="return GetClientBrowserDateTime();" by NM (E314037)
--%>
<asp:LinkButton ID="LnkExportToExcelMs" ToolTip="Click to open Excel view" OnClick="ExportToExcelMilestones"
runat="server" OnClientClick="return GetClientBrowserDateTime();" Text="<img src='../../Images/forAll/ExportToExcel.png' alt='X' />" />
<ext:ToolbarSpacer ID="tbspacer1" runat="server" Width="30">
</ext:ToolbarSpacer>
</td>
</tr>
<tr>
<td>
<%-- JIRA Ticket 817. Added by Velmurugan on 19-Feb-2013. --%>
Note: Only those Milestones that are owned by E&T are shown in the PE scorecard.
Milestones owned by ISC, AME, C&PS or PMO are not included.
<%-- JIRA Ticket 817 --%>
</td>
</tr>
</table>
</Content>
</ext:Container>
</Items>
</ext:Toolbar>
</TopBar>
<Items>
<ext:Panel ID="PnlInnerMilestone" runat="server" Title="Milestones">
<Content>
<fieldset id="fsDetailedMilestones" style="color:white;border:0px">
<table>
<tr>
<td>
<fieldset id="fsHmrMilestone">
<legend><b>HMR Milestone</b></legend>
<ext:GridPanel ID="GrdHmrMilestone" runat="server" EnableColumnMove="false" ButtonAlign="Center"
Border="true" Height="208" Width="1285" AutoScroll="true">
<Store>
<%-- <ext:Store ID="StoreHmrMilestone" runat="server" AutoLoad="false" OnRefreshData="StoreHmrMilestone_RefreshData"
RemotePaging="true">--%>
<ext:Store ID="StoreHmrMilestone" runat="server" PageSize="10" OnReadData="StoreHmrMilestone_RefreshData">
<Model>
<ext:Model ID="Model33" runat="server">
<Fields>
<ext:ModelField Name="HMRIndex" Type="String" />
<ext:ModelField Name="Category" Type="String" />
<ext:ModelField Name="HealthIndicator" Type="String" />
<ext:ModelField Name="MilestoneName" Type="String" />
<ext:ModelField Name="BillingFlag" Type="String" />
<ext:ModelField Name="BillingAmount" Type="String" />
<%--BaselineCompletiondate,ScheduledCompletionDate,Act ualCompletionDate
type = 'date' is not working so we kept SortType="AsDate"--%>
<ext:ModelField Name="BaselineCompletiondate" SortType="AsDate" />
<ext:ModelField Name="ScheduledCompletionDate" SortType="AsDate" />
<ext:ModelField Name="ActualCompletionDate" SortType="AsDate" />
<ext:ModelField Name="RCCACauseCode" Type="String" />
<ext:ModelField Name="Comment" Type="String" />
<ext:ModelField Name="RCCA" Type="String" />
<ext:ModelField Name="Action" Type="String" />
</Fields>
</ext:Model>
</Model>
<Listeners>

<%-- <BeforeLoad Handler="ShowMaskForGrid('Fieldset1')"></BeforeLoad>
<Load Handler = "Ext.net.Mask.hide();" ></Load>--%>
</Listeners>
</ext:Store>
</Store>
<ColumnModel ID="clmdlHmrMilestone" runat="server">
<Columns>
<ext:Column ID="Column1" DataIndex="HMRIndex" runat="server" Text="HMR Index" Width="110" MenuDisabled="false"
Height="22" Wrap="true" />
<ext:Column ID="Column2" runat="server" Text="Status" DataIndex="HealthIndicator" Width="50" Align="Center">
<Renderer Fn="indicatorRenderFORMilestone" />
</ext:Column>
<ext:Column ID="Column29" DataIndex="MilestoneName" runat="server" Text="Milestone Name" Width="200"
MenuDisabled="false" />
<ext:Column ID="Column30" runat="server" Text="Cat" DataIndex="Category" Width="50" MenuDisabled="false" />
<ext:DateColumn DataIndex="BaselineCompletiondate" runat="server" Text="Baseline Date" Width="90"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy"
ID="GrdHmrMilestone_BaselineCompletiondate" />
<ext:DateColumn DataIndex="ScheduledCompletionDate" runat="server" Text="Scheduled Date" Width="100"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy"
ID="GrdHmrMilestone_ScheduledCompletionDate" />
<ext:DateColumn DataIndex="ActualCompletionDate" runat="server" Text="Actual Date" Width="90"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy"
ID="GrdHmrMilestone_ActualCompletionDate" />
<ext:Column DataIndex="RCCACauseCode" runat="server" Text="RCCA Cause Code" Width="120"
MenuDisabled="false" ID="GrdHmrMilestone_RCCACauseCode" />
<ext:Column DataIndex="Comment" runat="server" Text="Comment" Width="100"
MenuDisabled="false" ID="GrdHmrMilestone_Comment" />
<ext:Column ID="Column33" DataIndex="RCCA" runat="server" Text="RCCA" Width="100" MenuDisabled="false" />
<ext:Column DataIndex="Action" runat="server" Text="Action" Width="230"
MenuDisabled="false" ID="GrdHmrMilestone_Action" />
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="GrdviewHmrMilestone" runat="server" EmptyText="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound_Fo rHMR %>" StripeRows="false" TrackOver="false" />
</View>
<BottomBar>
<ext:PagingToolbar ID="PgtlbrHmrMilestone" runat="server" Height="25px" HideRefresh="true"
EmptyMsg="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>">
<Items>
<ext:Label ID="Label7" runat="server" Text="Page size:" />
<ext:ToolbarSpacer ID="ToolBarSpacer7" runat="server" Width="10" />
<ext:ComboBox ID="cmbpgHmrMilestone" runat="server" Width="80" Editable="false">
<Items>
<ext:ListItem Text="10" Value="10" />
<ext:ListItem Text="20" Value="20" />
<ext:ListItem Text="50" Value="50" />
<ext:ListItem Text="100" Value="100" />
</Items>
<SelectedItems>
<ext:ListItem Value="10" />
</SelectedItems>
<Listeners>
<%--<Select Handler="#{PgtlbrHmrMilestone}.pageSize = parseInt(this.getValue()); #{PgtlbrHmrMilestone}.doLoad();" />--%>
<%--<Select Handler="#{PgtlbrHmrMilestone}.pageSize = parseInt(this.getValue()); #{PgtlbrHmrMilestone}.store.reload();" />--%>
<Select Handler="#{GrdHmrMilestone}.store.pageSize = parseInt(this.getValue(), 10); #{GrdHmrMilestone}.store.reload();" />
</Listeners>
</ext:ComboBox>
</Items>
</ext:PagingToolbar>
</BottomBar>
<%--<LoadMask ShowMask="true" />--%>
<ToolTips>
<ext:ToolTip ID="TTHmrMilestone" runat="server" Target="={#{GrdHmrMilestone}.getView().el}"
Delegate=".x-grid-cell" DismissDelay="120000" Anchor="bottom">
<Listeners>
<Show Handler="showTipForGrid(this, #{GrdHmrMilestone}, #{StoreHmrMilestone})" />
</Listeners>
</ext:ToolTip>
</ToolTips>
</ext:GridPanel>
</fieldset>
</td>
</tr>
<tr>
<td>
<fieldset id="fsIPDSGateExit">
<legend><b>
<ext:Label ID="LblIpdsOrCsbActionItemPopup" runat="server" Text="IPDS Gate Exit Schedule" />
</b></legend>
<ext:GridPanel ID="GrdIpdsMilestone" runat="server" EnableColumnMove="false" ButtonAlign="Center"
Border="true" Height="205" Width="1285" AutoScroll="true">
<Store>
<%--<ext:Store ID="StoreIpdsMilestone" runat="server" AutoLoad="false" OnRefreshData="StoreIpdsMilestone_RefreshData"
RemotePaging="true">--%>
<ext:Store ID="StoreIpdsMilestone" runat="server" PageSize="10" OnReadData="StoreIpdsMilestone_RefreshData">
<Model>
<ext:Model ID="Model36" runat="server">
<Fields>
<ext:ModelField Name="HMRIndex" Type="String" />
<ext:ModelField Name="Category" Type="String" />
<ext:ModelField Name="HealthIndicator" Type="String" />
<ext:ModelField Name="MilestoneName" Type="String" />
<ext:ModelField Name="BillingFlag" Type="String" />
<ext:ModelField Name="BillingAmount" Type="String" />
<%--BaselineCompletiondate,ScheduledCompletionDate,Act ualCompletionDate
type = 'date' is not working so we kept SortType="AsDate"--%>
<ext:ModelField Name="BaselineCompletiondate" SortType="AsDate" />
<ext:ModelField Name="ScheduledCompletionDate" SortType="AsDate" />
<ext:ModelField Name="ActualCompletionDate" SortType="AsDate" />
<ext:ModelField Name="RCCACauseCode" Type="String" />
<ext:ModelField Name="Comment" Type="String" />
<ext:ModelField Name="RCCA" Type="String" />
<ext:ModelField Name="Action" Type="String" />
</Fields>
</ext:Model>
</Model>
<%-- <Listeners>
<BeforeLoad Handler="ShowMaskForGrid('Fieldset1')"></BeforeLoad>
<Load Handler = "Ext.net.Mask.hide();" ></Load>
</Listeners>--%>
</ext:Store>
</Store>
<ColumnModel ID="clmdlIpdsMilestone" runat="server">
<Columns>
<ext:Column ID="GrdIpdsMilestone_HMRIndex" DataIndex="HMRIndex" runat="server" Text="HMR Index" Width="110" MenuDisabled="false"
Height="22" Wrap="true" />
<ext:Column ID="GrdIpdsMilestone_Status" runat="server" Text="Status" DataIndex="HealthIndicator" Width="50" Align="Center">
<Renderer Fn="indicatorRenderFORMilestone" />
</ext:Column>
<ext:Column ID="GrdIpdsMilestoneMilestoneName_" DataIndex="MilestoneName" runat="server" Text="Milestone Name" Width="200"
MenuDisabled="false" />
<ext:Column ID="GrdIpdsMilestone_Cat" runat="server" Text="Cat" DataIndex="Category" Width="50" MenuDisabled="false" />
<ext:DateColumn ID="GrdIpdsMilestone_BaselineCompletiondate" DataIndex="BaselineCompletiondate" runat="server" Text="Baseline Date" Width="90"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy" />
<ext:DateColumn ID="GrdIpdsMilestone_ScheduledCompletionDate" DataIndex="ScheduledCompletionDate" runat="server" Text="Scheduled Date" Width="100"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy" />
<ext:DateColumn ID="GrdIpdsMilestone_ActualCompletionDate" DataIndex="ActualCompletionDate" runat="server" Text="Actual Date" Width="90"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy" />
<ext:Column ID="GrdIpdsMilestone_RCCACauseCode" DataIndex="RCCACauseCode" runat="server" Text="RCCA Cause Code" Width="120"
MenuDisabled="false" />
<ext:Column ID="GrdIpdsMilestone_Comment" DataIndex="Comment" runat="server" Text="Comment" Width="100"
MenuDisabled="false" />
<ext:Column ID="GrdIpdsMilestone_RCCA" DataIndex="RCCA" runat="server" Text="RCCA" Width="100" MenuDisabled="false" />
<ext:Column ID="GrdIpdsMilestone_Action" DataIndex="Action" runat="server" Text="Action" Width="280"
MenuDisabled="false" />
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="GrdviewIpdsMilestone" runat="server" EmptyText="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>" StripeRows="false" TrackOver="false" />
</View>
<BottomBar>
<ext:PagingToolbar ID="PgIpdsMilestone" runat="server" HideRefresh="true"
EmptyMsg="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>" Height="25px">
<Items>
<ext:Label ID="Label6" runat="server" Text="Page size:" />
<ext:ToolbarSpacer ID="ToolBarSpacer6" runat="server" Width="10" />
<ext:ComboBox ID="CmbIpdsMilestone" runat="server" Width="80" Editable="false">
<Items>
<ext:ListItem Text="10" Value="10" />
<ext:ListItem Text="20" Value="20" />
<ext:ListItem Text="50" Value="50" />
<ext:ListItem Text="100" Value="100" />
</Items>
<SelectedItems>
<ext:ListItem Value="10" />
</SelectedItems>
<Listeners>
<%--<Select Handler="#{PgIpdsMilestone}.pageSize = parseInt(this.getValue()); #{PgIpdsMilestone}.doLoad();" />--%>
<Select Handler="#{GrdIpdsMilestone}.store.pageSize = parseInt(this.getValue(), 10); #{GrdIpdsMilestone}.store.reload();" />
</Listeners>
</ext:ComboBox>
</Items>
</ext:PagingToolbar>
</BottomBar>
<%--<LoadMask ShowMask="true" />--%>
<ToolTips>
<ext:ToolTip ID="TTIpdsMilestone" runat="server" Target="={#{GrdIpdsMilestone}.getView().el}"
Delegate=".x-grid-cell" DismissDelay="120000" Anchor="bottom">
<Listeners>
<Show Handler="showTipForGrid(this, #{GrdIpdsMilestone}, #{StoreIpdsMilestone})" />
</Listeners>
</ext:ToolTip>
</ToolTips>
</ext:GridPanel>
</fieldset>
</td>
</tr>
</table>
</fieldset>
</Content>
</ext:Panel>
<ext:Panel ID="PnlMonthlook" runat="server" Title="Likely To Miss (4MLA)">
<Items>
<ext:GridPanel ID="GrdFourHmrMilestone" runat="server" EnableColumnMove="false" ButtonAlign="Center"
Border="true" Height="430" Width="1285" AutoScroll="true">
<Store>
<ext:Store ID="StoreFourHmrMilestone" runat="server" PageSize="10" OnReadData="StoreFourHmrMilestone_RefreshData">
<Model>
<ext:Model ID="Model34" runat="server">
<Fields>
<ext:ModelField Name="HMRIndex" Type="String" />
<ext:ModelField Name="Category" Type="String" />
<ext:ModelField Name="HealthIndicator" Type="String" />
<ext:ModelField Name="MilestoneName" Type="String" />
<ext:ModelField Name="BillingFlag" Type="String" />
<ext:ModelField Name="BillingAmount" Type="String" />
<ext:ModelField Name="BaselineCompletiondate" SortType="AsDate" />
<ext:ModelField Name="ScheduledCompletionDate" SortType="AsDate" />
<ext:ModelField Name="ActualCompletionDate" SortType="AsDate" />
<ext:ModelField Name="RCCACauseCode" Type="String" />
<ext:ModelField Name="Comment" Type="String" />
<ext:ModelField Name="RCCA" Type="String" />
<ext:ModelField Name="Action" Type="String" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel ID="clmdlfourHmrMilestone" runat="server">
<Columns>
<ext:Column ID="GrdFourHmrMilestone_HMRIndex" DataIndex="HMRIndex" runat="server" Text="HMR Index" Width="100" MenuDisabled="false"
Height="22" Wrap="true" />
<ext:Column ID="GrdFourHmrMilestone_MilestoneName" DataIndex="MilestoneName" runat="server" Text="Milestone Name" Width="250"
MenuDisabled="false" />
<ext:Column ID="Column3" runat="server" Text="Cat" DataIndex="Category" Width="50" MenuDisabled="false" />
<ext:DateColumn ID="GrdFourHmrMilestone_BaselineCompletiondate" DataIndex="BaselineCompletiondate" runat="server" Text="Baseline Date" Width="85"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy" />
<ext:DateColumn ID="GrdFourHmrMilestone_ScheduledCompletionDate" DataIndex="ScheduledCompletionDate" runat="server" Text="Scheduled Date" Width="95"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy" />
<ext:DateColumn ID="GrdFourHmrMilestone_ActualCompletionDate" DataIndex="ActualCompletionDate" runat="server" Text="Actual Date" Width="85"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy" />
<ext:Column ID="GrdFourHmrMilestone_RCCACauseCode" DataIndex="RCCACauseCode" runat="server" Text="RCCA Cause Code" Width="150" MenuDisabled="false" />
<ext:Column ID="GrdFourHmrMilestone_Comment" DataIndex="Comment" runat="server" Text="Comment" Width="100"
MenuDisabled="false" />
<ext:Column ID="GrdFourHmrMilestone_RCCA" DataIndex="RCCA" runat="server" Text="RCCA" Width="100" MenuDisabled="false" />
<ext:Column ID="GrdFourHmrMilestone_Action" DataIndex="Action" runat="server" Text="Action" Width="290"
MenuDisabled="false" />
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="GrdviewFourHmrMilestone" runat="server" EmptyText="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>" StripeRows="false" TrackOver="false" />
</View>
<BottomBar>
<ext:PagingToolbar ID="PgtlbrfourHmrMilestone" runat="server" Height="25px" HideRefresh="true"
EmptyMsg="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>">
<Items>
<ext:Label ID="Label8" runat="server" Text="Page size:" />
<ext:ToolbarSpacer ID="ToolBarSpacer8" runat="server" Width="10" StyleSpec="background-color:red !important" />
<ext:ComboBox ID="CmbFourHmrMilestone" runat="server" Width="80" Editable="false">
<Items>
<ext:ListItem Text="10" Value="10" />
<ext:ListItem Text="20" Value="20" />
<ext:ListItem Text="50" Value="50" />
<ext:ListItem Text="100" Value="100" />
</Items>
<SelectedItems>
<ext:ListItem Value="10" />
</SelectedItems>
<Listeners>
<Select Handler="#{GrdFourHmrMilestone}.store.pageSize = parseInt(this.getValue(), 10); #{GrdFourHmrMilestone}.store.reload();" />
</Listeners>
</ext:ComboBox>
</Items>
</ext:PagingToolbar>
</BottomBar>
</ext:GridPanel>
</Items>
</ext:Panel>
<ext:Panel ID="PnlBilling" runat="server" Title="Billing MS info">
<Items>
<ext:GridPanel ID="GrdBillingHmrMilestone" runat="server" EnableColumnMove="false"
ButtonAlign="Center" Border="true" Height="430" Width="1285"
AutoScroll="true">
<Store>
<ext:Store ID="StoreBillingHmrMilestone" runat="server" PageSize="10" OnReadData="StoreBillingHmrMilestone_RefreshData">
<Model>
<ext:Model ID="Model35" runat="server">
<Fields>
<ext:ModelField Name="HMRIndex" Type="String" />
<ext:ModelField Name="Category" Type="String" />
<ext:ModelField Name="MilestoneName" Type="String" />
<ext:ModelField Name="HealthIndicator" Type="String" />
<ext:ModelField Name="BillingFlag" Type="String" />
<ext:ModelField Name="BillingAmount" Type="String" />
<ext:ModelField Name="BaselineCompletiondate" SortType="AsDate" />
<ext:ModelField Name="ScheduledCompletionDate" SortType="AsDate" />
<ext:ModelField Name="ActualCompletionDate" SortType="AsDate" />
<ext:ModelField Name="RCCA" Type="String" />
<ext:ModelField Name="Action" Type="String" />
</Fields>
</ext:Model>
</Model>
<Listeners>
<BeforeLoad Handler="ShowMaskForGrid('fsDetailedMilestones')"></BeforeLoad>
<Load Handler="Ext.net.Mask.hide();"></Load>
</Listeners>
</ext:Store>

</Store>
<ColumnModel ID="clmdlBillingHmrMilestone" runat="server">
<Columns>
<ext:Column ID="GrdBillingHmrMilestone1" DataIndex="HMRIndex" runat="server" Text="HMR Index" Width="160" MenuDisabled="false"
Height="22" Wrap="true" />
<ext:Column ID="GrdBillingHmrMilestone2" DataIndex="MilestoneName" runat="server" Text="Milestone Name" Width="300"
MenuDisabled="false" />
<ext:Column ID="GrdBillingHmrMilestone3" runat="server" Text="Cat" DataIndex="Category" Width="60" MenuDisabled="false" />
<ext:Column ID="GrdBillingHmrMilestone4" runat="server" Text="Billing Amt" DataIndex="BillingAmount" Width="100" MenuDisabled="false" />
<ext:DateColumn ID="GrdBillingHmrMilestone5" DataIndex="BaselineCompletiondate" runat="server" Text="Baseline Date" Width="90"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy" />
<ext:DateColumn ID="GrdBillingHmrMilestone6" DataIndex="ScheduledCompletionDate" runat="server" Text="Scheduled Date" Width="100"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy" />
<ext:DateColumn ID="GrdBillingHmrMilestone7" DataIndex="ActualCompletionDate" runat="server" Text="Actual Date" Width="90"
MenuDisabled="false" Align="Left" Format="MM/dd/yyyy" />
<ext:Column ID="GrdBillingHmrMilestone8" DataIndex="Action" runat="server" Text="Action" Width="400"
MenuDisabled="false" />
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="GrdviewBillingHmrMilestone" runat="server" EmptyText="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>" StripeRows="false" TrackOver="false" />
</View>
<BottomBar>
<ext:PagingToolbar ID="PgtlbrBillingHmrMilestone" runat="server" Height="25px" HideRefresh="true"
EmptyMsg="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>">
<Items>
<ext:Label ID="Label12" runat="server" Text="Page size:" />
<ext:ToolbarSpacer ID="ToolBarSpacer10" runat="server" Width="10" />
<ext:ComboBox ID="CmbBillingHmrMilestone" runat="server" Width="80" Editable="false">
<Items>
<ext:ListItem Text="10" Value="10" />
<ext:ListItem Text="20" Value="20" />
<ext:ListItem Text="50" Value="50" />
<ext:ListItem Text="100" Value="100" />
</Items>
<SelectedItems>
<ext:ListItem Value="10" />
</SelectedItems>
<Listeners>
<Select Handler="#{GrdBillingHmrMilestone}.store.pageSize = parseInt(this.getValue(), 10); #{GrdBillingHmrMilestone}.store.reload();" />
</Listeners>
</ext:ComboBox>
</Items>
</ext:PagingToolbar>
</BottomBar>
</ext:GridPanel>
</Items>
</ext:Panel>
</Items>
</ext:TabPanel>

fabricio.murta
Feb 13, 2015, 5:09 AM
Hello @arjunrvasisht!

You have a pretty long code. Unfortunately it didn't help me help you, I can't just run it here to see what is happening.

I will try my best to help you out of what I could compile of your code in my head but, it will be out of assumptions -- so expect some inaccuracy.

If I understood your problem, you are setting a whole-screen mask and when first grid is loaded, the mask is removed although there are still two tabs loading.

Then, what if you mask just the individual gridPanels? You might be able to accomplish this by using:


<Loader runat="server">
<LoadMask ShowMask="true" />
</Loader>


On each of your gridPanels. So the user will be able to switch between tabs, but all presented will be a loading grid panel.

But if what you need is to keep the user off controls until everything is loaded, what you can do is, while keeping your whole screen masked (add an X.Mask.Show() to the end of your Page_Load method), keep track of three boolean in javascript. For example, grid1Loaded, grid2Loaded, grid3Loaded, initially with false.

For every grid that triggers the Load event (as you already have setup), set its own boolean (for example grid2Loaded) to true. At that time you can check, if all three booleans are true, then remove the mask. Else do nothing more.

For the event (race event) where two grids finish together, the last one might miss the true state of the other. For this, just add a setTimeout (which is unset once all booleans are true) to remove the mask. Make this timeout repeat, for example, every half second, or every second.

Well, those are two possible approaches to attain the result I believe you want.

If this advice does not help you, I'm afraid I will not be able to help you unless you provide an example that I could run from my side. This sample should be the shortest possible, just emphasizing the difficulty you have encountered in your development.

If in doubt, follow the instructions on these two posts:
- Forum Guidelines For Posting New Topics (http://forums.ext.net/showthread.php?3440)
- More information required (http://forums.ext.net/showthread.php?10205)

Hope I could help!

arjunrvasisht
Feb 16, 2015, 5:47 AM
Hi fabricio.murta,
I tried the first approach. Having separate load mask for every grid. Please have a look at the images i have attached. Its a window pop up with three tabs, wherein the first tab has two grids vertically placed, and the other two tabs have one grid each. Am facing two issues now:
1. Even after loading the data, the mask doesn't just disappear. Do I have to hide it in explicitly ?
2. Since i have two different masks for the grids in the first tab, the same comes in the second tab as well. I mean two masks for single grid.

21251
21261

fabricio.murta
Feb 16, 2015, 10:55 PM
Well, it seems it is glitching, by not hiding the grids' mask once you switch tabs.

This would work better if you had loaders in the tabs.

As for removing the mask, it seems your grid does not exactly meet the parameters to have the LoadMask attribute set. They seem to be not being loaded by a loader.

Sorry for insisting, but I'm not sure how far we can get with this without a proper base. Can't you come up with a simple example for me to reproduce your issue, and then I can not just suggest, but also test what I am thinking? I mean, I could build a dozen screens here yet not the one in the way you need it. I hope you understand. Although it may seem problematic in the beginning, we'll have a concrete channel to solve the issue you are having over there.

You don't need to put all logic inside it. For example, for the loading times simulation, you can set a sleep() int the method stub so it takes long. And for the grid data, just a constant array with, say, 3 entries or so. If you need to simulate a high volume of data, then a loop to increment a counter should do it...

What do you think?

arjunrvasisht
Feb 23, 2015, 11:18 AM
hi fabricio.murta,

I have attached the runnable code to check the loading mask. I have altered my current code to make it run in your machine by binding some dummy data. Please use this code and check how can the loading mask be implemented. I have a release in another 2 days so please check ASAP.

aspx code:


<%@ Page Language="C#" MasterPageFile="~/NoMenu.master" AutoEventWireup="true" Inherits="Honeywell.Ap3.WebApp.Pages.Views.DetailTierMilesto neView"
Title="Untitled Page" CodeBehind="DetailTierMilestoneView.aspx.cs" %>

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<asp:Content ID="Content1" ContentPlaceHolderID="headContentPlaceHolder" runat="Server">
<link href="../../CSS/Common/Common.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript">

////US JIRA Ticket AP3-746
////Added by NM (E314037) on 27th Nov 2012
////For more information see comments section at page level
//// --------- Start -------------
function GetClientBrowserDateTime() {
var currentDt = new Date();
var mm = currentDt.getMonth() + 1;
var dd = currentDt.getDate();
var yyyy = currentDt.getFullYear();
var hours24 = currentDt.getHours();
var hours = (hours24 === 0 ? 12 : hours24 > 12 ? hours24 - 12 : hours24);
var minutes = currentDt.getMinutes();
minutes = (minutes <= 9 ? '0' + minutes : minutes);
var secs = currentDt.getSeconds();
secs = (secs <= 9 ? '0' + secs : secs);
var hours = (hours24 == 0 ? 12 : hours24 > 12 ? hours24 - 12 : hours24);
var meridiem = hours24 >= 12 ? "PM" : "AM";
var clientBrowserDate = mm + '/' + dd + '/' + yyyy + ' ' + hours + ":" + minutes + ":" + secs + " " + meridiem;

////var clientBrowserDate = mm + '/' + dd + '/' + yyyy + ' ' + currentDt.getHours() + ":" + currentDt.getMinutes() + ":" + currentDt.getSeconds() + " " + meridiem;
//var clientBrowserDate = mm + '/' + dd + '/' + yyyy + ' ' + currentDt.getHours() + ":" + currentDt.getMinutes() + ":" + currentDt.getSeconds();

var clientDateMMDDYYYY = mm + '_' + dd + '_' + yyyy;
document.getElementById('mainContentPlaceholder_Hd nClientDateTime').value = clientBrowserDate;
document.getElementById('mainContentPlaceholder_Hd nClientDateMMDDYYYY').value = clientDateMMDDYYYY;
return true;

}

var ShowMaskForGrid = function (targetControl) {
Ext.net.Mask.show({
msg: '<%= Resources.WebResource.GeneralMsg_Loading %>',
el: targetControl
});


}
</script>
<ext:XScript ID="XScript1" runat="server">
<script type="text/javascript">
var showTipForGrid = function (toolTip, grid) {

if (toolTip.triggerElement != undefined && toolTip.triggerElement != null) {
var view = grid.getView(),
record = view.getRecord(view.findItemByChild(toolTip.trigge rElement)),
column = view.getHeaderByCell(toolTip.triggerElement),
data = record.get(column.dataIndex);

var fieldName = column.dataIndex;
src = record.get("Source");

//V1.9.3 : P N : 6Dec2014 : Only for MetricName we need to display tooltip for Technical Indicator tab
if ((fieldName != "" && fieldName != null) && (data != "" && data != null)) {

if (fieldName == 'HealthIndicator') {
if (data == "2") {
toolTip.update("Completed Ontime");
}
else if (data == "3") {
toolTip.update("Completed Late");
}
else if (data == "4") {
toolTip.update("Pastdue");
}
else {
toolTip.update("Likely to miss");
}
}
else if (fieldName == "BaselineCompletiondate" || fieldName == "ScheduledCompletionDate" || fieldName == "ActualCompletionDate") {
var myDate = new Date(data);
var year = myDate.getFullYear();
var month = myDate.getMonth() + 1; // months start at zero
var day = myDate.getDate();
var conDate = month + "/" + day + "/" + year;
toolTip.update(conDate);//conDate;
}
else if (data == '~/Images/HealthIndicators/green_cb.png') {
toolTip.update("Healthy");
}
else if (data == '~/Images/HealthIndicators/yellow_cb.png') {
toolTip.update("Needs Improvements");
}
else if (data == '~/Images/HealthIndicators/red_cb.png') {
toolTip.update("Not Healthy");
}
//V1.9.3 : P N : 6Dec2014 : Only for MetricName we need to display tooltip for Technical Indicator tab
else if (fieldName == "MetricName") {
data = record.data.MetricFormula;
toolTip.update(data);
}
else {
toolTip.update(data);
}
}
else {
toolTip.hide();
}
}
};

var showTipForGridforMilestone = function (toolTip, grid, store) {
if (toolTip.triggerElement != undefined && toolTip.triggerElement != null) {

var view = grid.getView(),
record = view.getRecord(view.findItemByChild(toolTip.trigge rElement)),
column = view.getHeaderByCell(toolTip.triggerElement),
data = record.get(column.dataIndex);
var fieldName = column.dataIndex;
if ((fieldName != "" && fieldName != null) && (data != "" && data != null)) {
toolTip.body.show();
if (fieldName == 'HealthIndicator') {
if (data == "2") {
toolTip.update('Completed Ontime');
}
else if (data == "3") {
toolTip.update('Completed Late');
}
else if (data == "4") {
toolTip.update('Pastdue');
}

else {
toolTip.update('Likely to miss');
}
}
else {
toolTip.hide();
}
}
else {
toolTip.hide();
}
}
else {
toolTip.hide();
}
};
var indicatorRenderFORMilestone = function (value) {
var imagePath = value.toString();
if (imagePath == 2) {
imagePath = '../../Images/HealthIndicators/green_cb.png';
}
else if (imagePath == 3) {
imagePath = '../../Images/HealthIndicators/yellow_cb.png';
}
else if (imagePath == 4) {
imagePath = '../../Images/HealthIndicators/red_cb.png';
}
else if (imagePath == 6) {
imagePath = '../../Images/HealthIndicators/LikelyMiss_cb.png';
}
else {
imagePath = '../../Images/HealthIndicators/NotRated_cb.png';
}
return '<img src="' + imagePath + '" />'
};


</script>
</ext:XScript>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="mainContentPlaceHolder" runat="Server">
<ext:ResourceManager ID="PEViewResourceManager" runat="server">
</ext:ResourceManager>
<ext:Hidden ID="hdnSelectedTier1Id" runat="server" />
<ext:Hidden ID="hdnSelectedTier2Id" runat="server" />
<ext:Hidden ID="hdnSelectedTier3Id" runat="server" />
<ext:Hidden ID="hdnSelectedTier4Id" runat="server" />
<ext:Hidden ID="hdnMonth" runat="server" />
<ext:Hidden ID="hdnYear" runat="server" />
<ext:Hidden ID="HdnIsPopup" runat="server" />
<ext:Hidden ID="HdnOwning" runat="server" />
<ext:Hidden ID="HdnPerforming" runat="server" />
<ext:Hidden ID="HdnTierLevelId" runat="server" />
<ext:Hidden ID="HdnDdlMilestonePerformanceChart" runat="server" />
<ext:Hidden ID="HdnClientDateTime" runat="server" />
<ext:Hidden ID="HdnClientDateMMDDYYYY" runat="server" />
<ext:TabPanel ID="Tabpnl" runat="server" Height="530" ActiveIndex="0" MaxWidth="1295" Layout="FitLayout">
<TopBar>
<ext:Toolbar ID="ToolBar8" runat="server">
<Items>
<ext:Container ID="Container1" runat="server">
<Content>
<asp:LinkButton ID="LnkExportToExcelMS" ToolTip="Click to open Excel view"
runat="server" OnClientClick="return GetClientBrowserDateTime();" Text="<img src='../../Images/forAll/ExportToExcel.png' alt='X' />" />
</Content>
</ext:Container>
</Items>
</ext:Toolbar>
</TopBar>
<Items>
<ext:Panel ID="PnlInnerMilestone" runat="server" Title="Milestones">
<Content>
<fieldset id="fsDetailedMilestones" style="color: white; border: 0px">
<table>
<tr>
<td>
<fieldset style="width: auto">
<legend><b>HMR Milestones</b></legend>
<ext:GridPanel ID="GrdHmrMilestone" runat="server" EnableColumnMove="false" ButtonAlign="Center"
Border="true" TrackMouseOver="true" Height="208" Width="1295" AutoScroll="true"
AutoWidth="false">
<Store>
<ext:Store ID="StoreHmrMilestone" runat="server" OnReadData="StoreHmrMilestone_RefreshData" PageSize="10">
<Model>
<ext:Model ID="Model1" runat="server">
<Fields>
<ext:ModelField Name="Keycode" Type="String" />
<ext:ModelField Name="ProgramName" Type="String" />
<ext:ModelField Name="ProjectName" Type="String" />
<ext:ModelField Name="HMRIndex" Type="String" />
<ext:ModelField Name="Category" Type="String" />
<ext:ModelField Name="HealthIndicator" Type="String" />
<ext:ModelField Name="MilestoneName" Type="String" />
<ext:ModelField Name="BillingFlag" Type="String" />
<ext:ModelField Name="BillingAmount" Type="String" />
<%--BaselineCompletiondate,ScheduledCompletionDate,Act ualCompletionDate
type = 'date' is not working so we kept SortType="AsDate"--%>
<ext:ModelField Name="BaselineCompletiondate" SortType="AsDate" />
<ext:ModelField Name="ScheduledCompletionDate" SortType="AsDate" />
<ext:ModelField Name="ActualCompletionDate" SortType="AsDate" />
<ext:ModelField Name="RCCACauseCode" Type="String" />
<ext:ModelField Name="Comment" Type="String" />
<ext:ModelField Name="RCCA" Type="String" />
<ext:ModelField Name="Action" Type="String" />
</Fields>
</ext:Model>
</Model>
<Parameters>
<ext:StoreParameter Name="start" Value="0" Mode="Raw" />
<ext:StoreParameter Name="sort" Value="" />
<ext:StoreParameter Name="dir" Value="" />
</Parameters>
<Listeners>
<BeforeLoad Handler="ShowMaskForGrid('fsDetailedMilestones')"></BeforeLoad>
</Listeners>
</ext:Store>
</Store>
<ColumnModel ID="clmdlHmrMilestone" runat="server">
<Columns>
<ext:Column runat="server" Text="Keycode" DataIndex="Keycode" ID="GrdHmrMilestone_Keycode" Width="60" MenuDisabled="false"
Hidden="true" />
<ext:Column runat="server" Text="Program Name" DataIndex="ProgramName" ID="GrdHmrMilestone_ProgramName"
Width="100" MenuDisabled="false" Hidden="true" />
<ext:Column runat="server" Text="Project Name" DataIndex="ProjectName" ID="GrdHmrMilestone_ProjectName"
Width="100" MenuDisabled="false" Hidden="true" />
<ext:Column runat="server" DataIndex="HMRIndex" Text="HMR Index" Width="100" MenuDisabled="false"
Css="text-align:left;word-break:break-all;" ID="HMRIndex" />
<ext:Column runat="server" Text="Status" DataIndex="HealthIndicator" Width="50" Align="Center" ID="HealthIndicator">
<Renderer Fn="indicatorRenderFORMilestone" />
</ext:Column>
<ext:Column runat="server" DataIndex="MilestoneName" Text="Milestone Name" Width="220" Css="text-align:left;"
MenuDisabled="false" ID="MilestoneName" />
<ext:Column runat="server" Text="Cat" DataIndex="Category" Width="60" MenuDisabled="false" Css="text-align:right;" ID="Category" />
<ext:DateColumn DataIndex="BaselineCompletiondate" Text="Baseline Date" Width="90"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" ID="BaselineCompletiondate" runat="server" />
<ext:DateColumn DataIndex="ScheduledCompletionDate" Text="Scheduled Date" Width="100"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" ID="ScheduledCompletionDate" runat="server" />
<ext:DateColumn DataIndex="ActualCompletionDate" Text="Actual Date" Width="90"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" ID="ActualCompletionDate" runat="server" />
<ext:Column runat="server" DataIndex="RCCACauseCode" Text="RCCA Cause Code" Width="150" Css="text-align:left;"
MenuDisabled="false" ID="GrdHmrMilestone_RCCACauseCode" />
<ext:Column runat="server" DataIndex="Comment" Text="Comment" Width="100" MenuDisabled="false" ID="Comment" />
<ext:Column runat="server" DataIndex="RCCA" Text="RCCA" Width="100" MenuDisabled="false" ID="RCCA" />
<ext:Column runat="server" DataIndex="Action" Text="Action" Width="300" MenuDisabled="false"
Css="text-align:left;" ID="GrdHmrMilestone_Action" />
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="GrdviewHmrMilestone" runat="server" EmptyText="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound_Fo rHMR %>" TrackOver="false" StripeRows="false">
<Listeners>
<Refresh Delay="5000" Handler="Ext.net.Mask.hide();"></Refresh>
</Listeners>
</ext:GridView>
</View>
<BottomBar>
<ext:PagingToolbar ID="PgtlbrHmrMilestone" runat="server" PageSize="10" HideRefresh="true" EmptyMsg="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>">
<Items>
<ext:Label ID="Label7" runat="server" Text="Page size:" />
<ext:ToolbarSpacer ID="ToolBarSpacer7" runat="server" Width="10" />
<ext:ComboBox ID="cmbpgHmrMilestone" runat="server" Width="80" Editable="false">
<Items>
<ext:ListItem Text="10" Value="10" />
<ext:ListItem Text="20" Value="20" />
<ext:ListItem Text="50" Value="50" />
<ext:ListItem Text="100" Value="100" />
</Items>
<SelectedItems>
<ext:ListItem Value="10" />
</SelectedItems>
<Listeners>
<Select Handler="#{GrdHmrMilestone}.store.pageSize = parseInt(this.getValue(), 10); #{GrdHmrMilestone}.store.reload();" />
</Listeners>
</ext:ComboBox>
</Items>
</ext:PagingToolbar>
</BottomBar>
<ToolTips>
<ext:ToolTip ID="TTHmrMilestone" runat="server" Target="={#{GrdHmrMilestone}.getView().el}"
Delegate=".x-grid-cell" DismissDelay="120000" Anchor="bottom">
<Listeners>
<Show Handler="showTipForGridforMilestone(this, #{GrdHmrMilestone})" />
</Listeners>
</ext:ToolTip>
</ToolTips>
</ext:GridPanel>
</fieldset>
</td>
</tr>
<tr>
<td>
<fieldset style="width: auto;">
<legend><b>IPDS Gate Exit Schedule</b></legend>
<ext:GridPanel ID="GrdIpdsMilestone" runat="server" EnableColumnMove="false" ButtonAlign="Center"
Border="true" TrackMouseOver="true" Height="206" Width="1295" AutoScroll="true"
AutoWidth="false">
<Store>
<ext:Store ID="StoreIpdsMilestone" runat="server" OnReadData="StoreIpdsMilestone_RefreshData" PageSize="10">
<Model>
<ext:Model ID="Model2" runat="server">
<Fields>
<ext:ModelField Name="Keycode" Type="String" />
<ext:ModelField Name="ProgramName" Type="String" />
<ext:ModelField Name="ProjectName" Type="String" />
<ext:ModelField Name="HMRIndex" Type="String" />
<ext:ModelField Name="Category" Type="String" />
<ext:ModelField Name="HealthIndicator" Type="String" />
<ext:ModelField Name="MilestoneName" Type="String" />
<ext:ModelField Name="BillingFlag" Type="String" />
<ext:ModelField Name="BillingAmount" Type="String" />
<%--BaselineCompletiondate,ScheduledCompletionDate,Act ualCompletionDate
type = 'date' is not working so we kept SortType="AsDate"--%>
<ext:ModelField Name="BaselineCompletiondate" SortType="AsDate" />
<ext:ModelField Name="ScheduledCompletionDate" SortType="AsDate" />
<ext:ModelField Name="ActualCompletionDate" SortType="AsDate" />
<ext:ModelField Name="RCCACauseCode" Type="String" />
<ext:ModelField Name="Comment" Type="String" />
<ext:ModelField Name="RCCA" Type="String" />
<ext:ModelField Name="Action" Type="String" />
</Fields>
</ext:Model>
</Model>
<Parameters>
<ext:StoreParameter Name="start" Value="0" Mode="Raw" />
<ext:StoreParameter Name="sort" Value="" />
<ext:StoreParameter Name="dir" Value="" />
</Parameters>
</ext:Store>
</Store>
<ColumnModel ID="clmdlIpdsMilestone" runat="server">
<Columns>
<ext:Column runat="server" Text="Keycode" DataIndex="Keycode" ID="GrdIpdsMilestone_Keycode" Width="60" MenuDisabled="false"
Hidden="true" />
<ext:Column runat="server" Text="Program Name" DataIndex="ProgramName" ID="GrdIpdsMilestone_ProgramName"
Width="100" MenuDisabled="false" Hidden="true" />
<ext:Column runat="server" Text="Project Name" DataIndex="ProjectName" ID="GrdIpdsMilestone_ProjectName"
Width="100" MenuDisabled="false" Hidden="true" />
<ext:Column ID="Column1" runat="server" DataIndex="HMRIndex" Text="HMR Index" Width="100" MenuDisabled="false"
Css="text-align:left;word-break:break-all;" />
<ext:Column ID="Column2" runat="server" Text="Status" DataIndex="HealthIndicator" Width="50" Align="Center">
<Renderer Fn="indicatorRenderFORMilestone" />
</ext:Column>
<ext:Column ID="Column3" runat="server" DataIndex="MilestoneName" Text="Milestone Name" Width="220" Css="text-align:left;"
MenuDisabled="false" />
<ext:Column ID="Column4" runat="server" Text="Cat" DataIndex="Category" Width="60" MenuDisabled="false" Css="text-align:right;" />
<ext:DateColumn ID="DateColumn1" DataIndex="BaselineCompletiondate" Text="Baseline Date" Width="90"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" runat="server" />
<ext:DateColumn ID="DateColumn2" DataIndex="ScheduledCompletionDate" Text="Scheduled Date" Width="100"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" runat="server" />
<ext:DateColumn ID="DateColumn3" DataIndex="ActualCompletionDate" Text="Actual Date" Width="90"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" runat="server" />
<ext:Column ID="Column5" runat="server" DataIndex="RCCACauseCode" Text="RCCA Cause Code" Width="150" Css="text-align:left;"
MenuDisabled="false" />
<ext:Column ID="Column6" runat="server" DataIndex="Comment" Text="Comment" Width="100" MenuDisabled="false" />
<ext:Column ID="Column7" runat="server" DataIndex="RCCA" Text="RCCA" Width="100" MenuDisabled="false" />
<ext:Column runat="server" DataIndex="Action" ID="GrdIpdsMilestone_Action" Text="Action" Width="300" MenuDisabled="false"
Css="text-align:left;" />
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="GrdviewIpdsMilestone" runat="server" EmptyText="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound_Fo rHMR %>" TrackOver="false" StripeRows="false" />
</View>
<BottomBar>
<ext:PagingToolbar ID="PgIpdsMilestone" runat="server" PageSize="10" HideRefresh="true" EmptyMsg="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>">
<Items>
<ext:Label ID="Label6" runat="server" Text="Page size:" />
<ext:ToolbarSpacer ID="ToolBarSpacer6" runat="server" Width="10" />
<ext:ComboBox ID="CmbIpdsMilestone" runat="server" Width="80" Editable="false">
<Items>
<ext:ListItem Text="10" Value="10" />
<ext:ListItem Text="20" Value="20" />
<ext:ListItem Text="50" Value="50" />
<ext:ListItem Text="100" Value="100" />
</Items>
<SelectedItems>
<ext:ListItem Value="10" />
</SelectedItems>
<Listeners>
<Select Handler="#{GrdIpdsMilestone}.store.pageSize = parseInt(this.getValue(), 10); #{GrdIpdsMilestone}.store.reload();" />
</Listeners>
</ext:ComboBox>
</Items>
</ext:PagingToolbar>
</BottomBar>
<ToolTips>
<ext:ToolTip ID="TTIpdsMilestone" runat="server" Target="={#{GrdIpdsMilestone}.getView().el}"
Delegate=".x-grid-cell" DismissDelay="120000" Anchor="bottom">
<Listeners>
<Show Handler="showTipForGridforMilestone(this, #{GrdIpdsMilestone})" />
</Listeners>
</ext:ToolTip>
</ToolTips>
</ext:GridPanel>
</fieldset>
</td>
</tr>
</table>
</fieldset>
</Content>
</ext:Panel>
<ext:Panel ID="PnlMonthlook" runat="server" Title="Likely To Miss(4MLA)">
<Content>
<table>
<tr>
<td>
<fieldset style="width: auto">
<legend><b>Likely To Miss(4MLA)</b></legend>
<ext:GridPanel ID="GrdFourHmrMilestone" runat="server" EnableColumnMove="false" ButtonAlign="Center"
Border="true" TrackMouseOver="true" Height="470" Width="1295" AutoScroll="true"
AutoWidth="false">
<Store>
<ext:Store ID="StoreFourHmrMilestone" runat="server" OnReadData="StoreFourHmrMilestone_RefreshData" PageSize="10">
<Model>
<ext:Model ID="Model3" runat="server">
<Fields>
<ext:ModelField Name="Keycode" Type="String" />
<ext:ModelField Name="ProgramName" Type="String" />
<ext:ModelField Name="ProjectName" Type="String" />
<ext:ModelField Name="HMRIndex" Type="String" />
<ext:ModelField Name="Category" Type="String" />
<ext:ModelField Name="HealthIndicator" Type="String" />
<ext:ModelField Name="MilestoneName" Type="String" />
<ext:ModelField Name="BillingFlag" Type="String" />
<ext:ModelField Name="BillingAmount" Type="String" />
<%--BaselineCompletiondate,ScheduledCompletionDate,Act ualCompletionDate
type = 'date' is not working so we kept SortType="AsDate"--%>
<ext:ModelField Name="BaselineCompletiondate" SortType="AsDate" />
<ext:ModelField Name="ScheduledCompletionDate" SortType="AsDate" />
<ext:ModelField Name="ActualCompletionDate" SortType="AsDate" />
<ext:ModelField Name="RCCACauseCode" Type="String" />
<ext:ModelField Name="Comment" Type="String" />
<ext:ModelField Name="RCCA" Type="String" />
<ext:ModelField Name="Action" Type="String" />
</Fields>
</ext:Model>
</Model>
<Parameters>
<ext:StoreParameter Name="start" Value="0" Mode="Raw" />
<ext:StoreParameter Name="sort" Value="" />
<ext:StoreParameter Name="dir" Value="" />
</Parameters>
</ext:Store>
</Store>
<ColumnModel ID="clmdlfourHmrMilestone" runat="server">
<Columns>
<ext:Column runat="server" Text="Keycode" DataIndex="Keycode" ID="GrdFourHmrMilestone_Keycode" Width="60" MenuDisabled="false"
Hidden="true" />
<ext:Column runat="server" Text="Program Name" DataIndex="ProgramName" ID="GrdFourHmrMilestone_ProgramName"
Width="100" MenuDisabled="false" Hidden="true" />
<ext:Column runat="server" Text="Project Name" DataIndex="ProjectName" ID="GrdFourHmrMilestone_ProjectName"
Width="100" MenuDisabled="false" Hidden="true" />
<ext:Column ID="Column8" runat="server" DataIndex="HMRIndex" Text="HMR Index" Width="100" MenuDisabled="false"
Css="text-align:left;word-break:break-all;" />
<ext:Column ID="Column9" runat="server" DataIndex="MilestoneName" Text="Milestone Name" Width="220" Css="text-align:left;"
MenuDisabled="false" />
<ext:Column ID="Column10" runat="server" Text="Cat" DataIndex="Category" Width="60" MenuDisabled="false" Css="text-align:right;" />
<ext:DateColumn ID="DateColumn4" DataIndex="BaselineCompletiondate" Text="Baseline Date" Width="90"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" runat="server" />
<ext:DateColumn ID="DateColumn5" DataIndex="ScheduledCompletionDate" Text="Scheduled Date" Width="100"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" runat="server" />
<ext:DateColumn ID="DateColumn6" DataIndex="ActualCompletionDate" Text="Actual Date" Width="90"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" runat="server" />
<ext:Column ID="Column11" runat="server" DataIndex="RCCACauseCode" Text="RCCA Cause Code" Width="150" Css="text-align:left;"
MenuDisabled="false" />
<ext:Column ID="Column12" runat="server" DataIndex="Comment" Text="Comment" Width="100" MenuDisabled="false" />
<ext:Column ID="Column13" runat="server" DataIndex="RCCA" Text="RCCA" Width="100" MenuDisabled="false" />
<ext:Column runat="server" DataIndex="Action" ID="GrdFourHmrMilestone_Action" Text="Action" Width="300" MenuDisabled="false"
Css="text-align:left;" />
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="GrdviewFourHmrMilestone" runat="server" EmptyText="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>" TrackOver="false" StripeRows="false" />
</View>
<BottomBar>
<ext:PagingToolbar ID="PgtlbrfourHmrMilestone" runat="server" PageSize="10" HideRefresh="true" EmptyMsg="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>">
<Items>
<ext:Label ID="Label8" runat="server" Text="Page size:" />
<ext:ToolbarSpacer ID="ToolBarSpacer8" runat="server" Width="10" />
<ext:ComboBox ID="CmbFourHmrMilestone" runat="server" Width="80" Editable="false">
<Items>
<ext:ListItem Text="10" Value="10" />
<ext:ListItem Text="20" Value="20" />
<ext:ListItem Text="50" Value="50" />
<ext:ListItem Text="100" Value="100" />
</Items>
<SelectedItems>
<ext:ListItem Value="10" />

</SelectedItems>
<Listeners>
<Select Handler="#{GrdFourHmrMilestone}.store.pageSize = parseInt(this.getValue(), 10); #{GrdFourHmrMilestone}.store.reload();" />
</Listeners>
</ext:ComboBox>
</Items>
</ext:PagingToolbar>
</BottomBar>
</ext:GridPanel>
</fieldset>
</td>
</tr>
</table>
</Content>
</ext:Panel>
<ext:Panel ID="PnlBilling" runat="server" Title="Billing MS info">
<Content>
<table>
<tr>
<td>
<fieldset style="width: auto">
<legend><b>Billing Milestones</b></legend>
<ext:GridPanel ID="GrdBillingHmrMilestone" runat="server" EnableColumnMove="false"
ButtonAlign="Center" Border="true" TrackMouseOver="true" Height="430" Width="1295"
AutoScroll="true" AutoWidth="false">
<Store>
<ext:Store ID="StoreBillingHmrMilestone" runat="server" OnReadData="StoreBillingHmrMilestone_RefreshData">
<Model>
<ext:Model ID="Model4" runat="server">
<Fields>
<ext:ModelField Name="Keycode" Type="String" />
<ext:ModelField Name="ProgramName" Type="String" />
<ext:ModelField Name="ProjectName" Type="String" />
<ext:ModelField Name="HMRIndex" Type="String" />
<ext:ModelField Name="Category" Type="String" />
<ext:ModelField Name="MilestoneName" Type="String" />
<ext:ModelField Name="HealthIndicator" Type="String" />
<ext:ModelField Name="BillingFlag" Type="String" />
<ext:ModelField Name="BillingAmount" Type="String" />
<%--BaselineCompletiondate,ScheduledCompletionDate,Act ualCompletionDate
type = 'date' is not working so we kept SortType="AsDate"--%>
<ext:ModelField Name="BaselineCompletiondate" SortType="AsDate" />
<ext:ModelField Name="ScheduledCompletionDate" SortType="AsDate" />
<ext:ModelField Name="ActualCompletionDate" SortType="AsDate" />
<ext:ModelField Name="RCCA" Type="String" />
<ext:ModelField Name="Action" Type="String" />
</Fields>
</ext:Model>
</Model>
<Parameters>
<ext:StoreParameter Name="start" Value="0" Mode="Raw" />
<ext:StoreParameter Name="sort" Value="" />
<ext:StoreParameter Name="dir" Value="" />
</Parameters>
</ext:Store>
</Store>
<ColumnModel ID="clmdlBillingHmrMilestone" runat="server">
<Columns>
<ext:Column runat="server" Text="Keycode" DataIndex="Keycode" ID="GrdBillingHmrMilestone_Keycode" Width="60" MenuDisabled="false"
Hidden="true" />
<ext:Column runat="server" Text="Program Name" DataIndex="ProgramName" ID="ProgramName"
Width="120" MenuDisabled="false" Hidden="true" />
<ext:Column runat="server" Text="Project Name" DataIndex="ProjectName" ID="ProjectName"
Width="120" MenuDisabled="false" Hidden="true" />
<ext:Column ID="Column14" runat="server" DataIndex="HMRIndex" Text="HMR Index" Width="100" MenuDisabled="false"
Css="text-align:left;word-break:break-all;" />
<ext:Column ID="Column15" runat="server" DataIndex="MilestoneName" Text="Milestone Name" Width="250" Css="text-align:left;word-break:break-all;"
MenuDisabled="false" />
<ext:Column ID="Column16" runat="server" Text="Cat" DataIndex="Category" Width="40" MenuDisabled="false" Css="text-align:right;" />
<ext:Column ID="Column17" runat="server" Text="Billing Amt" DataIndex="BillingAmount" Width="100" MenuDisabled="false"
Css="text-align:right;" />
<ext:DateColumn ID="DateColumn7" DataIndex="BaselineCompletiondate" Text="Baseline Date" Width="100"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" runat="server" />
<ext:DateColumn ID="DateColumn8" DataIndex="ScheduledCompletionDate" Text="Scheduled Date" Width="100"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" runat="server" />
<ext:DateColumn ID="DateColumn9" DataIndex="ActualCompletionDate" Text="Actual Date" Width="90"
MenuDisabled="false" Css="text-align:left;" Align="Left" Format="MM/dd/yyyy" runat="server" />
<ext:Column runat="server" DataIndex="Action" Text="Action" ID="Action" Width="330" Css="text-align:left;"
MenuDisabled="false" />
</Columns>
</ColumnModel>
<View>
<ext:GridView ID="GrdviewBillingHmrMilestone" runat="server" EmptyText="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>" TrackOver="false" StripeRows="false" />
</View>
<BottomBar>
<ext:PagingToolbar ID="PgtlbrBillingHmrMilestone" runat="server" PageSize="10" HideRefresh="true" EmptyMsg="<%$ Resources:WebResource,GeneralMsg_NoRecordsFound %>">
<Items>
<ext:Label ID="Label12" runat="server" Text="Page size:" />
<ext:ToolbarSpacer ID="ToolBarSpacer10" runat="server" Width="10" />
<ext:ComboBox ID="CmbBillingHmrMilestone" runat="server" Width="80" Editable="false">
<Items>
<ext:ListItem Text="10" Value="10" />
<ext:ListItem Text="20" Value="20" />
<ext:ListItem Text="50" Value="50" />
<ext:ListItem Text="100" Value="100" />
</Items>
<SelectedItems>
<ext:ListItem Value="10" />
</SelectedItems>
<Listeners>
<Select Handler="#{GrdBillingHmrMilestone}.store.pageSize = parseInt(this.getValue(), 10); #{GrdBillingHmrMilestone}.store.reload();" />
</Listeners>
</ext:ComboBox>
</Items>
</ext:PagingToolbar>
</BottomBar>
</ext:GridPanel>
</fieldset>
</td>
</tr>
</table>
</Content>
</ext:Panel>
</Items>
</ext:TabPanel>
</asp:Content>



Code Behind :

using System;
using System.Data;
using System.Collections.Generic;
using System.Globalization;
using Honeywell.Ap3.WebApp.Common;
using Honeywell.AP3.Core.Bll.Dashboards;
using Honeywell.AP3.Core.Bll;
using Honeywell.AP3.Framework.Enumerations;
using Microsoft.Reporting.WebForms;
using Resources;
using Ext.Net;

namespace Honeywell.Ap3.WebApp.Pages.Views
{
public partial class DetailTierMilestoneView : PageBase
{
private readonly string readonlyMilestone = "Milestone";
private readonly string readonly4MlaMilestone = "4MLAMILESTONE";
private readonly string readonlyBillingMilestones = "BillingMilestones";
private string strIsRedirected = string.Empty;

private ViewManager objViewManager = new ViewManager();

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
hdnSelectedTier1Id.Value = "-1";
hdnSelectedTier2Id.Value = "-1";
hdnSelectedTier3Id.Value = "55";
hdnSelectedTier4Id.Value = "-1";
hdnMonth.Value = "1";
hdnYear.Value = "2015";
HdnIsPopup.Value = "False";
HdnOwning.Value = "-1";
HdnPerforming.Value = "1";
HdnTierLevelId.Value = "3";

HdnDdlMilestonePerformanceChart.Text = "1,2,3";




SetMilestoneColumnWidth();

StoreHmrMilestone.Reload();
StoreIpdsMilestone.Reload();
StoreFourHmrMilestone.Reload();
StoreBillingHmrMilestone.Reload();
}
}

/// <summary>
/// StoreHmrMilestone_RefreshData
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void StoreHmrMilestone_RefreshData(object sender, StoreReadDataEventArgs e)
{
ViewManager objViewManager = new ViewManager();
DataSet dasHmrDetails = null;
DataTable datHmrTableDetails = null;
try
{

setT4MilestoneDetailViewGridColumns(GrdHmrMileston e, Convert.ToInt16(HdnTierLevelId.Value.ToString()));

DataTable asbn = GetTable(1500);

datHmrTableDetails = asbn;
List<object> lstObjHrmMilestone1 = HmrDataTableToList(datHmrTableDetails);
this.StoreHmrMilestone.RemoveAll();
this.StoreHmrMilestone.DataSource = lstObjHrmMilestone1;
this.StoreHmrMilestone.DataBind();

}
finally
{
if (dasHmrDetails != null)
{
dasHmrDetails.Dispose();
}

if (datHmrTableDetails != null)
{
datHmrTableDetails.Dispose();
}

objViewManager = null;
}
}




static DataTable GetTable2()
{
// Here we create a DataTable with four columns.
DataTable table = new DataTable();
table.Columns.Add("Tier2Name", typeof(string));
table.Columns.Add("Tier3Name", typeof(string));
table.Columns.Add("Tier4Name", typeof(string));

table.Columns.Add("Tier4Id", typeof(int));
table.Columns.Add("ProgramId", typeof(int));
table.Columns.Add("Keycode", typeof(int));

table.Columns.Add("ProgramName", typeof(string));
table.Columns.Add("ProjectId", typeof(int));
table.Columns.Add("ProjectName", typeof(string));

table.Columns.Add("ProgramExecType", typeof(string));
table.Columns.Add("HealthIndicator", typeof(int));
table.Columns.Add("HMRIndex", typeof(string));

table.Columns.Add("MilestoneName", typeof(string));
table.Columns.Add("Category", typeof(int));
table.Columns.Add("BillingFlag", typeof(bool));

table.Columns.Add("BillingAmount", typeof(float));
table.Columns.Add("BaselineCompletionDate", typeof(DateTime));
table.Columns.Add("ScheduledCompletionDate", typeof(DateTime));


table.Columns.Add("ActualCompletionDate", typeof(DateTime));
table.Columns.Add("isIPDSPhase", typeof(bool));
table.Columns.Add("RCCA", typeof(string));

table.Columns.Add("Comment", typeof(string));
table.Columns.Add("RCCACauseCode", typeof(string));
table.Columns.Add("Action", typeof(string));

table.Columns.Add("CommentId", typeof(string));
table.Columns.Add("OriginatorCode", typeof(string));
table.Columns.Add("Comments", typeof(string));

table.Columns.Add("Comments_Copy", typeof(string));
table.Columns.Add("State", typeof(string));
table.Columns.Add("Picklist_Flag", typeof(int));

// Here we add five DataRows.
for (int i = 0; i < 1500; i++)
{
table.Rows.Add("Indocin", "David", "abc", 1, 2, 3, "dssd", 3, "sdsd", "deded", 3, "dwedw", "", 2, false, 343, DateTime.Now, DateTime.Now, DateTime.Now, false, "edwdw", "edw", "edw", "wedwd",null,null,null,null,null,0);
}
return table;
}


static DataTable GetTable(int j)
{
// Here we create a DataTable with four columns.
DataTable table = new DataTable();
table.Columns.Add("Tier2Name", typeof(string));
table.Columns.Add("Tier3Name", typeof(string));
table.Columns.Add("Tier4Name", typeof(string));

table.Columns.Add("Tier4Id", typeof(int));
table.Columns.Add("ProgramId", typeof(int));
table.Columns.Add("Keycode", typeof(int));

table.Columns.Add("ProgramName", typeof(string));
table.Columns.Add("ProjectId", typeof(int));
table.Columns.Add("ProjectName", typeof(string));

table.Columns.Add("ProgramExecType", typeof(string));
table.Columns.Add("HealthIndicator", typeof(int));
table.Columns.Add("HMRIndex", typeof(string));

table.Columns.Add("MilestoneName", typeof(string));
table.Columns.Add("Category", typeof(int));
table.Columns.Add("BillingFlag", typeof(bool));

table.Columns.Add("BillingAmount", typeof(float));
table.Columns.Add("BaselineCompletionDate", typeof(DateTime));
table.Columns.Add("ScheduledCompletionDate", typeof(DateTime));


table.Columns.Add("ActualCompletionDate", typeof(DateTime));
table.Columns.Add("isIPDSPhase", typeof(bool));
table.Columns.Add("RCCA", typeof(string));

table.Columns.Add("Comment", typeof(string));
table.Columns.Add("RCCACauseCode", typeof(string));
table.Columns.Add("Action", typeof(string));


// Here we add five DataRows.
for (int i = 0; i < j; i++)
{
table.Rows.Add("Indocin", "David", "abc", 1, 2, 3, "dssd", 3, "sdsd", "deded", 3, "dwedw", "", 2, false, 343, DateTime.Now, DateTime.Now, DateTime.Now, false, "edwdw", "edw", "edw", "wedwd");
}
return table;
}

/// <summary>
/// StoreFourHmrMilestone_RefreshData
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void StoreFourHmrMilestone_RefreshData(object sender, StoreReadDataEventArgs e)
{
//ViewManager objViewManager = new ViewManager();
DataSet dasHmrDetails = null;
DataTable datHmrTableDetails = null;
try
{

/*To hid/show milestone detail column in grid ....START....*/
setT4MilestoneDetailViewGridColumns(GrdFourHmrMile stone, Convert.ToInt16(HdnTierLevelId.Value.ToString()));

DataTable abcd = GetTable2();
datHmrTableDetails = abcd;
List<object> lstObjFourHmr = HmrfourDataTableToList(datHmrTableDetails);
this.StoreFourHmrMilestone.RemoveAll();
this.StoreFourHmrMilestone.DataSource = lstObjFourHmr;
this.StoreFourHmrMilestone.DataBind();

}
finally
{
if (dasHmrDetails != null)
{
dasHmrDetails.Dispose();
}

if (datHmrTableDetails != null)
{
datHmrTableDetails.Dispose();
}

objViewManager = null;
}
}

/// <summary>
/// StoreIpdsMilestone_RefreshData
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void StoreIpdsMilestone_RefreshData(object sender, StoreReadDataEventArgs e)
{
//ViewManager objViewManager = new ViewManager();
DataSet dasHmrDetails = null;
DataTable datHmrTableDetails = null;
try
{

string strCategory = HdnDdlMilestonePerformanceChart.Text;
/*To hid/show milestone detail column in grid ....START....*/
setT4MilestoneDetailViewGridColumns(GrdIpdsMilesto ne, Convert.ToInt16(HdnTierLevelId.Value.ToString()));

DataTable abc = GetTable(10);

datHmrTableDetails = abc;
List<object> lstObjIpds = IpdsDataTableToList(datHmrTableDetails);
this.StoreIpdsMilestone.RemoveAll();
this.StoreIpdsMilestone.DataSource = lstObjIpds;
this.StoreIpdsMilestone.DataBind();

}
finally
{
if (dasHmrDetails != null)
{
dasHmrDetails.Dispose();
}

if (datHmrTableDetails != null)
{
datHmrTableDetails.Dispose();
}

objViewManager = null;
}
}

/// <summary>
/// StoreBillingHmrMilestone_RefreshData
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void StoreBillingHmrMilestone_RefreshData(object sender, StoreReadDataEventArgs e)
{
//ViewManager objViewManager = new ViewManager();
DataSet dasHmrDetails = null;
DataTable datHmrTableDetails = null;
try
{


/*To hid/show milestone detail column in grid ....START....*/
setT4MilestoneDetailViewGridColumns(GrdBillingHmrM ilestone, Convert.ToInt16(HdnTierLevelId.Value.ToString()));

DataTable sdjhf = GetTable(1000);


datHmrTableDetails = sdjhf;
List<object> lstObjHmrBilling = HmrBillingDataTableToList(datHmrTableDetails);
this.StoreBillingHmrMilestone.RemoveAll();
this.StoreBillingHmrMilestone.DataSource = lstObjHmrBilling;
this.StoreBillingHmrMilestone.DataBind();

}
finally
{
if (dasHmrDetails != null)
{
dasHmrDetails.Dispose();
}

if (datHmrTableDetails != null)
{
datHmrTableDetails.Dispose();
}

objViewManager = null;
}
}

private void SetMilestoneColumnWidth()
{
if (Convert.ToBoolean(HdnIsPopup.Value.ToString()) == true)
{
SetGridColmunWidth(GrdHmrMilestone, "Action", 240);
GrdHmrMilestone.Width = 1225;

SetGridColmunWidth(GrdIpdsMilestone, "Action", 240);
GrdIpdsMilestone.Width = 1225;
GrdIpdsMilestone.Height = 170;

SetGridColmunWidth(GrdFourHmrMilestone, "Action", 270);
GrdFourHmrMilestone.Width = 1225;
GrdFourHmrMilestone.Height = 395;

SetGridColmunWidth(GrdBillingHmrMilestone, "Action", 310);
GrdBillingHmrMilestone.Width = 1225;
GrdBillingHmrMilestone.Height = 395;
}
else
{
SetGridColmunWidth(GrdHmrMilestone, "Action", 270);
GrdHmrMilestone.Width = 1260;

SetGridColmunWidth(GrdIpdsMilestone, "Action", 270);
GrdIpdsMilestone.Width = 1260;
GrdIpdsMilestone.Height = 206;

SetGridColmunWidth(GrdFourHmrMilestone, "Action", 300);
GrdFourHmrMilestone.Width = 1260;
GrdFourHmrMilestone.Height = 430;

SetGridColmunWidth(GrdBillingHmrMilestone, "Action", 400);
GrdBillingHmrMilestone.Width = 1260;
GrdBillingHmrMilestone.Height = 430;
}
}


private void SetGridColmunWidth(GridPanel grdControlId, string ColumnIDToSetWidth, int ColumnWidth)
{
try
{
if (!string.IsNullOrEmpty(ColumnIDToSetWidth) && ColumnWidth > 0)
{
int ColumnIndexToSetWidth = Helper.GetColumnIndexForPassedColumn(grdControlId, ColumnIDToSetWidth.Trim());
grdControlId.ColumnModel.Columns[ColumnIndexToSetWidth].Width = ColumnWidth;
}
}
catch
{
throw;
}
}

/// <summary>
/// Hid/Show column for milestone detail view.
/// Called in Render DirectEvent of relevant milestone grids.
/// </summary>
/// <param name="grdControlId">The GRD control id.</param>
private void setT4MilestoneDetailViewGridColumns(GridPanel gpMilestone, int glbTierLevelId)
{
//Column INdex
int Keycode = 0;
int ProgramName = 0;
int ProjectName = 0;
int ActionIndex = 0;
int actionWidth = 0;
string columnsToRemove = "";
try
{
/*Columns to be shown/hid in T4 milestone data grid i.e. "T2", "T3","ProjectName", "MilestoneName" */
string[] columnsToFind = new string[] { "Keycode", "Program Name", "Project Name", "Action" };
Dictionary<string, int> dicNameIndex = GetColumnIndexForPassedColumns(gpMilestone, columnsToFind);
if (Convert.ToInt16(HdnOwning.Value.ToString()) == -1)
{

switch (glbTierLevelId)
{

case 1:
//getting column index
Keycode = dicNameIndex["Keycode"];
ProgramName = dicNameIndex["Program Name"];
ProjectName = dicNameIndex["Project Name"];// ProjectName index
//Hidding/Unhidding columns
gpMilestone.ColumnModel.Columns[Keycode].Hidden = false;
gpMilestone.ColumnModel.Columns[ProgramName].Hidden = false;
columnsToRemove = ProjectName.ToString();
break;

case 2:
//getting column index
Keycode = dicNameIndex["Keycode"];
ProgramName = dicNameIndex["Program Name"];
ProjectName = dicNameIndex["Project Name"];// ProjectName index
//Hidding/Unhidding columns
gpMilestone.ColumnModel.Columns[Keycode].Hidden = false;
gpMilestone.ColumnModel.Columns[ProgramName].Hidden = false;
columnsToRemove = ProjectName.ToString();
break;

case 3:
//getting column index
Keycode = dicNameIndex["Keycode"];
ProgramName = dicNameIndex["Program Name"];
ProjectName = dicNameIndex["Project Name"];// ProjectName index
//Hidding/Unhidding columns
gpMilestone.ColumnModel.Columns[Keycode].Hidden = false;
gpMilestone.ColumnModel.Columns[ProgramName].Hidden = false;
columnsToRemove = ProjectName.ToString();
break;

case 4:
//getting column index
Keycode = dicNameIndex["Keycode"]; //--t2 index
ProgramName = dicNameIndex["Program Name"];// t3 index
ProjectName = dicNameIndex["Project Name"];// ProjectName index
ActionIndex = dicNameIndex["Action"];
actionWidth = (int)gpMilestone.ColumnModel.Columns[ActionIndex].Width.Value - 100;
//Hidding/Unhidding columns
gpMilestone.ColumnModel.Columns[Keycode].Hidden = false;
gpMilestone.ColumnModel.Columns[ProgramName].Hidden = false;
gpMilestone.ColumnModel.Columns[ProjectName].Hidden = false;
gpMilestone.ColumnModel.Columns[ActionIndex].SetWidth(actionWidth);
break;
}
}
else
{
Keycode = dicNameIndex["Keycode"]; //--t2 index
ProgramName = dicNameIndex["Program Name"];// t3 index
ProjectName = dicNameIndex["Project Name"];// ProjectName index
columnsToRemove = Keycode + "," + ProgramName + "," + ProjectName;
}
}
catch
{
throw;
}
}



public static Dictionary<string, int> GetColumnIndexForPassedColumns(GridPanel gpGrid, string[] strColumns)
{
try
{
Dictionary<string, int> dicColumnDetails = new Dictionary<string, int>();
for (int index = 0; index < strColumns.Length; index++)
{
string columnToFind = strColumns[index].ToString();
int colIndex = 0;
foreach (var col in gpGrid.ColumnModel.Columns)
{
if (col.Text.Equals(columnToFind))
{
dicColumnDetails.Add(col.Text, colIndex);
break;
}
colIndex++;
}
}
return dicColumnDetails;
}
catch (Exception)
{

throw;
}
}
/// <summary>
/// MilestoneDataTableToList
/// </summary>
/// <param name="dat"></param>
/// <returns></returns>
internal List<object> MilestoneDataTableToList(DataTable dat)
{
List<object> lstObjMilestone = new List<object>();
foreach (System.Data.DataRow row in dat.Rows)
{
object objMilestone = new
{
Keycode = Convert.ToString(row["Keycode"], CultureInfo.CurrentCulture),
ProgramName = Convert.ToString(row["ProgramName"], CultureInfo.CurrentCulture),
Category = Convert.ToString(row["Category"], CultureInfo.CurrentCulture),
HMRIndex = Convert.ToString(row["HMRIndex"], CultureInfo.CurrentCulture),
MilestoneName = Convert.ToString(row["MilestoneName"], CultureInfo.CurrentCulture),
BaselineCompletionDate = Convert.ToString(row["BaselineCompletionDate"], CultureInfo.CurrentCulture),
ScheduledCompletionDate = Convert.ToString(row["ScheduledCompletionDate"], CultureInfo.CurrentCulture),
ActualCompletionDate = Convert.ToString(row["ActualCompletionDate"], CultureInfo.CurrentCulture),
RCCA_ProbDesc = Convert.ToString(row["RCCA_ProbDesc"], CultureInfo.CurrentCulture),
RCCA_Plan = Convert.ToString(row["RCCA_Plan"], CultureInfo.CurrentCulture),
RCCA_Impact = Convert.ToString(row["RCCA_Impact"], CultureInfo.CurrentCulture),
Action = Convert.ToString(row["Action"], CultureInfo.CurrentCulture),
ProjectName = Convert.ToString(row["ProjectName"], CultureInfo.CurrentCulture),
Tier2Name = Convert.ToString(row["Tier2Name"], CultureInfo.CurrentCulture),
Tier3Name = Convert.ToString(row["Tier3Name"], CultureInfo.CurrentCulture),
Tier4Name = Convert.ToString(row["Tier4Name"], CultureInfo.CurrentCulture)
};

lstObjMilestone.Add(objMilestone);
}

return lstObjMilestone;
}

/// <summary>
/// HmrDataTableToList
/// </summary>
/// <param name="dat"></param>
/// <returns></returns>
internal List<object> HmrDataTableToList(DataTable dat)
{
List<object> lstObjHmr = new List<object>();
foreach (System.Data.DataRow row in dat.Rows)
{
object objHmr = new
{
Category = Convert.ToString(row["Category"], CultureInfo.CurrentCulture),
HealthIndicator = Convert.ToString(row["HealthIndicator"], CultureInfo.CurrentCulture),
HMRIndex = Convert.ToString(row["HMRIndex"], CultureInfo.CurrentCulture),
MilestoneName = Convert.ToString(row["MilestoneName"], CultureInfo.CurrentCulture),
BaselineCompletiondate = Convert.ToString(row["BaselineCompletiondate"], CultureInfo.CurrentCulture),
ScheduledCompletionDate = Convert.ToString(row["ScheduledCompletionDate"], CultureInfo.CurrentCulture),
ActualCompletionDate = Convert.ToString(row["ActualCompletionDate"], CultureInfo.CurrentCulture),
RCCA = Convert.ToString(row["RCCA"], CultureInfo.CurrentCulture),
Comment = Convert.ToString(row["Comment"], CultureInfo.CurrentCulture),
RCCACauseCode = Convert.ToString(row["RCCACauseCode"], CultureInfo.CurrentCulture),
Action = Convert.ToString(row["Action"], CultureInfo.CurrentCulture),
ProjectName = Convert.ToString(row["ProjectName"], CultureInfo.CurrentCulture),
Keycode = Convert.ToString(row["Keycode"], CultureInfo.CurrentCulture),
ProgramName = Convert.ToString(row["ProgramName"], CultureInfo.CurrentCulture)
};

lstObjHmr.Add(objHmr);
}

return lstObjHmr;
}

/// <summary>
/// HmrfourDataTableToList
/// </summary>
/// <param name="dat"></param>
/// <returns></returns>
internal List<object> HmrfourDataTableToList(DataTable dat)
{
List<object> lstObjHrmFour = new List<object>();
foreach (System.Data.DataRow row in dat.Rows)
{
object objHrmFour = new
{
Category = Convert.ToString(row["Category"], CultureInfo.CurrentCulture),
HealthIndicator = Convert.ToString(row["HealthIndicator"], CultureInfo.CurrentCulture),
HMRIndex = Convert.ToString(row["HMRIndex"], CultureInfo.CurrentCulture),
MilestoneName = Convert.ToString(row["MilestoneName"], CultureInfo.CurrentCulture),
BaselineCompletiondate = Convert.ToString(row["BaselineCompletiondate"], CultureInfo.CurrentCulture),
ScheduledCompletionDate = Convert.ToString(row["ScheduledCompletionDate"], CultureInfo.CurrentCulture),
ActualCompletionDate = Convert.ToString(row["ActualCompletionDate"], CultureInfo.CurrentCulture),
RCCA = Convert.ToString(row["RCCA"], CultureInfo.CurrentCulture),
Comment = Convert.ToString(row["Comment"], CultureInfo.CurrentCulture),
RCCACauseCode = Convert.ToString(row["RCCACauseCode"], CultureInfo.CurrentCulture),
Action = Convert.ToString(row["Action"], CultureInfo.CurrentCulture),
ProjectName = Convert.ToString(row["ProjectName"], CultureInfo.CurrentCulture),
Keycode = Convert.ToString(row["Keycode"], CultureInfo.CurrentCulture),
ProgramName = Convert.ToString(row["ProgramName"], CultureInfo.CurrentCulture)
};

lstObjHrmFour.Add(objHrmFour);
}

return lstObjHrmFour;
}

/// <summary>
/// IpdsDataTableToList
/// </summary>
/// <param name="dat"></param>
/// <returns></returns>
internal List<object> IpdsDataTableToList(DataTable dat)
{
List<object> lstObjIpds = new List<object>();
foreach (System.Data.DataRow row in dat.Rows)
{
object objIpds = new
{
Category = Convert.ToString(row["Category"], CultureInfo.CurrentCulture),
HealthIndicator = Convert.ToString(row["HealthIndicator"], CultureInfo.CurrentCulture),
HMRIndex = Convert.ToString(row["HMRIndex"], CultureInfo.CurrentCulture),
MilestoneName = Convert.ToString(row["MilestoneName"], CultureInfo.CurrentCulture),
BaselineCompletiondate = Convert.ToString(row["BaselineCompletiondate"], CultureInfo.CurrentCulture),
ScheduledCompletionDate = Convert.ToString(row["ScheduledCompletionDate"], CultureInfo.CurrentCulture),
ActualCompletionDate = Convert.ToString(row["ActualCompletionDate"], CultureInfo.CurrentCulture),
RCCA = Convert.ToString(row["RCCA"], CultureInfo.CurrentCulture),
Comment = Convert.ToString(row["Comment"], CultureInfo.CurrentCulture),
RCCACauseCode = Convert.ToString(row["RCCACauseCode"], CultureInfo.CurrentCulture),
Action = Convert.ToString(row["Action"], CultureInfo.CurrentCulture),
ProjectName = Convert.ToString(row["ProjectName"], CultureInfo.CurrentCulture),
Keycode = Convert.ToString(row["Keycode"], CultureInfo.CurrentCulture),
ProgramName = Convert.ToString(row["ProgramName"], CultureInfo.CurrentCulture)
};

lstObjIpds.Add(objIpds);
}

return lstObjIpds;
}

/// <summary>
/// HmrBillingDataTableToList
/// </summary>
/// <param name="dat"></param>
/// <returns></returns>
internal List<object> HmrBillingDataTableToList(DataTable dat)
{
List<object> lstObjHmrBilling = new List<object>();
foreach (System.Data.DataRow row in dat.Rows)
{
object objHmrBilling = new
{
Category = Convert.ToString(row["Category"], CultureInfo.CurrentCulture),
HealthIndicator = Convert.ToString(row["HealthIndicator"], CultureInfo.CurrentCulture),
HMRIndex = Convert.ToString(row["HMRIndex"], CultureInfo.CurrentCulture),
MilestoneName = Convert.ToString(row["MilestoneName"], CultureInfo.CurrentCulture),
BaselineCompletiondate = Convert.ToString(row["BaselineCompletiondate"], CultureInfo.CurrentCulture),
ScheduledCompletionDate = Convert.ToString(row["ScheduledCompletionDate"], CultureInfo.CurrentCulture),
ActualCompletionDate = Convert.ToString(row["ActualCompletionDate"], CultureInfo.CurrentCulture),
BillingAmount = Convert.ToString(row["BillingAmount"], CultureInfo.CurrentCulture),
RCCA = Convert.ToString(row["RCCA"], CultureInfo.CurrentCulture),
Comment = Convert.ToString(row["Comment"], CultureInfo.CurrentCulture),
RCCACauseCode = Convert.ToString(row["RCCACauseCode"], CultureInfo.CurrentCulture),
Action = Convert.ToString(row["Action"], CultureInfo.CurrentCulture),
ProjectName = Convert.ToString(row["ProjectName"], CultureInfo.CurrentCulture),
Keycode = Convert.ToString(row["Keycode"], CultureInfo.CurrentCulture),
ProgramName = Convert.ToString(row["ProgramName"], CultureInfo.CurrentCulture)
};

lstObjHmrBilling.Add(objHmrBilling);
}

return lstObjHmrBilling;
}

/// <summary>
/// ExportToExcelMilestones
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>



////For more information see comments section at page level
////To assign or pass client browser date and time to rdlc
//// --------- Start -------------
private void AssignParameterToReport(ref LocalReport lclRptPMScorecard)
{
ReportParameter p1 = new ReportParameter("pReportedOn", HdnClientDateTime.Value.ToString());
lclRptPMScorecard.SetParameters(new ReportParameter[] { p1 });
}

/// <summary>
/// Assigns the parameter to report.
/// </summary>
/// <param name="lclRptPMScorecard">The LCL RPT PM scorecard.</param>
private void AssignParameterTier4IdToReport(ref LocalReport lclRptPMScorecard)
{
ReportParameter p1 = new ReportParameter("pTier4Id", hdnSelectedTier4Id.Value.ToString());
lclRptPMScorecard.SetParameters(new ReportParameter[] { p1 });
}

/// <summary>
/// Assigns the parameter to report.
/// </summary>
/// <param name="lclRptPMScorecard">The LCL RPT PM scorecard.</param>
private void AssignParameterTierLevelIdReport(ref LocalReport lclRptPMScorecard)
{
ReportParameter p1 = new ReportParameter("pTierLevelId", HdnTierLevelId.Value.ToString());
lclRptPMScorecard.SetParameters(new ReportParameter[] { p1 });
}

/// <summary>
/// Assigns the parameter to report.
/// </summary>
/// <param name="lclRptPMScorecard">The LCL RPT PM scorecard.</param>
private void AssignParameterTierpIsOwning(ref LocalReport lclRptPMScorecard)
{
ReportParameter p1 = new ReportParameter("pIsOwning", HdnOwning.Value.ToString());
lclRptPMScorecard.SetParameters(new ReportParameter[] { p1 });
}
}
}





designer page :


//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Honeywell.Ap3.WebApp.Pages.Views {


public partial class DetailTierMilestoneView {

/// <summary>
/// XScript1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.XScript XScript1;

/// <summary>
/// PEViewResourceManager control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.ResourceManager PEViewResourceManager;

/// <summary>
/// hdnSelectedTier1Id control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden hdnSelectedTier1Id;

/// <summary>
/// hdnSelectedTier2Id control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden hdnSelectedTier2Id;

/// <summary>
/// hdnSelectedTier3Id control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden hdnSelectedTier3Id;

/// <summary>
/// hdnSelectedTier4Id control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden hdnSelectedTier4Id;

/// <summary>
/// hdnMonth control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden hdnMonth;

/// <summary>
/// hdnYear control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden hdnYear;

/// <summary>
/// HdnIsPopup control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden HdnIsPopup;

/// <summary>
/// HdnOwning control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden HdnOwning;

/// <summary>
/// HdnPerforming control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden HdnPerforming;

/// <summary>
/// HdnTierLevelId control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden HdnTierLevelId;

/// <summary>
/// HdnDdlMilestonePerformanceChart control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden HdnDdlMilestonePerformanceChart;

/// <summary>
/// HdnClientDateTime control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden HdnClientDateTime;

/// <summary>
/// HdnClientDateMMDDYYYY control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Hidden HdnClientDateMMDDYYYY;

/// <summary>
/// Tabpnl control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.TabPanel Tabpnl;

/// <summary>
/// ToolBar8 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Toolbar ToolBar8;

/// <summary>
/// Container1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Container Container1;

/// <summary>
/// LnkExportToExcelMS control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton LnkExportToExcelMS;

/// <summary>
/// PnlInnerMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Panel PnlInnerMilestone;

/// <summary>
/// GrdHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.GridPanel GrdHmrMilestone;

/// <summary>
/// StoreHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Store StoreHmrMilestone;

/// <summary>
/// Model1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Model Model1;

/// <summary>
/// GrdHmrMilestone_Keycode control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdHmrMilestone_Keycode;

/// <summary>
/// GrdHmrMilestone_ProgramName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdHmrMilestone_ProgramName;

/// <summary>
/// GrdHmrMilestone_ProjectName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdHmrMilestone_ProjectName;

/// <summary>
/// HMRIndex control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column HMRIndex;

/// <summary>
/// HealthIndicator control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column HealthIndicator;

/// <summary>
/// MilestoneName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column MilestoneName;

/// <summary>
/// Category control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Category;

/// <summary>
/// BaselineCompletiondate control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn BaselineCompletiondate;

/// <summary>
/// ScheduledCompletionDate control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn ScheduledCompletionDate;

/// <summary>
/// ActualCompletionDate control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn ActualCompletionDate;

/// <summary>
/// GrdHmrMilestone_RCCACauseCode control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdHmrMilestone_RCCACauseCode;

/// <summary>
/// Comment control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Comment;

/// <summary>
/// RCCA control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column RCCA;

/// <summary>
/// GrdHmrMilestone_Action control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdHmrMilestone_Action;

/// <summary>
/// GrdviewHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.GridView GrdviewHmrMilestone;

/// <summary>
/// PgtlbrHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.PagingToolbar PgtlbrHmrMilestone;

/// <summary>
/// Label7 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Label Label7;

/// <summary>
/// ToolBarSpacer7 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.ToolbarSpacer ToolBarSpacer7;

/// <summary>
/// cmbpgHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.ComboBox cmbpgHmrMilestone;

/// <summary>
/// TTHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.ToolTip TTHmrMilestone;

/// <summary>
/// GrdIpdsMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.GridPanel GrdIpdsMilestone;

/// <summary>
/// StoreIpdsMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Store StoreIpdsMilestone;

/// <summary>
/// Model2 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Model Model2;

/// <summary>
/// GrdIpdsMilestone_Keycode control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdIpdsMilestone_Keycode;

/// <summary>
/// GrdIpdsMilestone_ProgramName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdIpdsMilestone_ProgramName;

/// <summary>
/// GrdIpdsMilestone_ProjectName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdIpdsMilestone_ProjectName;

/// <summary>
/// Column1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column1;

/// <summary>
/// Column2 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column2;

/// <summary>
/// Column3 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column3;

/// <summary>
/// Column4 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column4;

/// <summary>
/// DateColumn1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn DateColumn1;

/// <summary>
/// DateColumn2 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn DateColumn2;

/// <summary>
/// DateColumn3 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn DateColumn3;

/// <summary>
/// Column5 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column5;

/// <summary>
/// Column6 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column6;

/// <summary>
/// Column7 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column7;

/// <summary>
/// GrdIpdsMilestone_Action control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdIpdsMilestone_Action;

/// <summary>
/// GrdviewIpdsMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.GridView GrdviewIpdsMilestone;

/// <summary>
/// PgIpdsMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.PagingToolbar PgIpdsMilestone;

/// <summary>
/// Label6 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Label Label6;

/// <summary>
/// ToolBarSpacer6 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.ToolbarSpacer ToolBarSpacer6;

/// <summary>
/// CmbIpdsMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.ComboBox CmbIpdsMilestone;

/// <summary>
/// TTIpdsMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.ToolTip TTIpdsMilestone;

/// <summary>
/// PnlMonthlook control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Panel PnlMonthlook;

/// <summary>
/// GrdFourHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.GridPanel GrdFourHmrMilestone;

/// <summary>
/// StoreFourHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Store StoreFourHmrMilestone;

/// <summary>
/// Model3 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Model Model3;

/// <summary>
/// GrdFourHmrMilestone_Keycode control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdFourHmrMilestone_Keycode;

/// <summary>
/// GrdFourHmrMilestone_ProgramName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdFourHmrMilestone_ProgramName;

/// <summary>
/// GrdFourHmrMilestone_ProjectName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdFourHmrMilestone_ProjectName;

/// <summary>
/// Column8 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column8;

/// <summary>
/// Column9 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column9;

/// <summary>
/// Column10 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column10;

/// <summary>
/// DateColumn4 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn DateColumn4;

/// <summary>
/// DateColumn5 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn DateColumn5;

/// <summary>
/// DateColumn6 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn DateColumn6;

/// <summary>
/// Column11 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column11;

/// <summary>
/// Column12 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column12;

/// <summary>
/// Column13 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column13;

/// <summary>
/// GrdFourHmrMilestone_Action control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdFourHmrMilestone_Action;

/// <summary>
/// GrdviewFourHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.GridView GrdviewFourHmrMilestone;

/// <summary>
/// PgtlbrfourHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.PagingToolbar PgtlbrfourHmrMilestone;

/// <summary>
/// Label8 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Label Label8;

/// <summary>
/// ToolBarSpacer8 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.ToolbarSpacer ToolBarSpacer8;

/// <summary>
/// CmbFourHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.ComboBox CmbFourHmrMilestone;

/// <summary>
/// PnlBilling control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Panel PnlBilling;

/// <summary>
/// GrdBillingHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.GridPanel GrdBillingHmrMilestone;

/// <summary>
/// StoreBillingHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Store StoreBillingHmrMilestone;

/// <summary>
/// Model4 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Model Model4;

/// <summary>
/// GrdBillingHmrMilestone_Keycode control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column GrdBillingHmrMilestone_Keycode;

/// <summary>
/// ProgramName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column ProgramName;

/// <summary>
/// ProjectName control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column ProjectName;

/// <summary>
/// Column14 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column14;

/// <summary>
/// Column15 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column15;

/// <summary>
/// Column16 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column16;

/// <summary>
/// Column17 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Column17;

/// <summary>
/// DateColumn7 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn DateColumn7;

/// <summary>
/// DateColumn8 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn DateColumn8;

/// <summary>
/// DateColumn9 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.DateColumn DateColumn9;

/// <summary>
/// Action control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Column Action;

/// <summary>
/// GrdviewBillingHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.GridView GrdviewBillingHmrMilestone;

/// <summary>
/// PgtlbrBillingHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.PagingToolbar PgtlbrBillingHmrMilestone;

/// <summary>
/// Label12 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.Label Label12;

/// <summary>
/// ToolBarSpacer10 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.ToolbarSpacer ToolBarSpacer10;

/// <summary>
/// CmbBillingHmrMilestone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Ext.Net.ComboBox CmbBillingHmrMilestone;
}
}

fabricio.murta
Feb 24, 2015, 1:26 AM
Hello @arjunrvasisht!

I'm deeply sorry I see your efforts in making a runnable code for us. But as you can see, the code you provided has several dependencies of your own project:


using Honeywell.Ap3.WebApp.Common;
using Honeywell.AP3.Core.Bll.Dashboards;
using Honeywell.AP3.Core.Bll;
using Honeywell.AP3.Framework.Enumerations;


Without which I can't even dream in running your code.

But more importantly, we are not here to see your full project, are we? I mean, your project probably has private and proprietary code, we shouldn't be exchanging posts containing private code here.

Also learning the entire architecture you use there in your project before we can give you tips will also be too much work. Wonder if we had to learn every customers' particular project?

So, what do you think if we forget about the previous code samples and try to write an example reproducing the issue from scratch?

Let's think on the key points:
- A TabPanel
- Three GridPanels. One inside each three tabs (Panels) of that TabPanel
- Each grid containing dummy data (say, two columns, with Name1 and SurName1 thru Name100 and SurName100, built with a loop).
- Also, on the load method for each grid, a sleep() call with a different amount of time, to emulate long load times on each grid.
- Add key points you believe must be considered on your scenario

And one extremely important thing: create this off a clean project:
- Open Visual Studio
- New Project
- Install Ext.NET version you use (are your using from NuGet? install-package Ext.NET -Version 2.5.3.1 or just point to your project's Ext.NET DLLs)

What's the point on all that trouble? Once you get the first sample working on that simple project, it will be easier for you to come up with new simplified code samples for us in the future! And we'll be able to provide you better support and faster response. Everyone wins.

We can help you setting that project up as well, shall you encounter any difficulty linking to the Ext.NET libraries. Using the NuGet package is too straightforward, it sets up Web.Config for you and all!

I really hope you understand. We want to help you. But for that, many times we will require a working code sample that reproduces the issue you are encountering. A clean project is the very best way to start with.

Alternative

And here is an alternative if you don't want too much trouble creating things from scratch.

As you have premium support clearance, you also have access to our very Ext.NET codes and examples explorer codes! So you can just grab a copy from the branches/2 (which is the Ext.NET version 2.x code base), open and compile it on Visual Studio, and finally pick one of the lots of examples inside to use as a starting point to reproduce your issue.

If you have changed a sample on the Ext.NET project we can easily reproduce it (given you didn't include third-party libraries and projects).

Well, and that's it. Sorry for the long reply that does not solve your actual question, and I hope you understand. I wanted to give you tips to the best of what I can think so we can come up with a solution for your actual problem. And also for future issues.