Jun 02, 2016, 4:56 PM
[CLOSED] Nested childgrid autoselection issue
Hi Guys
I have grid and a nested childgrid with CheckboxSelectionModel in both parent and childgrid , when i select parent grid row all the child grid row gets selected as well . This selection is not shown in selectionmodel() of the childgrid . So when i try to clear i cant clear them
What i need is prevent selection of childgrid items on selecting parent grid row
My Grid Code is below
Amit
I have grid and a nested childgrid with CheckboxSelectionModel in both parent and childgrid , when i select parent grid row all the child grid row gets selected as well . This selection is not shown in selectionmodel() of the childgrid . So when i try to clear i cant clear them
What i need is prevent selection of childgrid items on selecting parent grid row
My Grid Code is below
<ext:GridPanel runat="server" Split="true" Title="Results" Region="North" ID="gridResults" ItemID="gridResults"
Height="320" MultiSelect="true"
Header="false" CollapseMode="Mini" Border="false" AnimCollapse="true" Collapsed="true" HideHeaders="true">
<Store>
<ext:Store ID="storeResults" ItemID="storeResults" runat="server" GroupField="genericName" GroupDir="ASC">
<Sorters>
<ext:DataSorter Property="drugName" Direction="ASC"></ext:DataSorter>
</Sorters>
<Reader>
<ext:JsonReader IDProperty="fileId"></ext:JsonReader>
</Reader>
<Model>
<ext:Model ID="ModelResult" runat="server">
<Fields>
<ext:ModelField Name="productId" Mapping="fileId"></ext:ModelField>
<ext:ModelField Name="fileId"></ext:ModelField>
<ext:ModelField Name="drugName">
<Convert Handler="return value==''?'Unknown Drug Name':value;"></Convert>
</ext:ModelField>
<ext:ModelField Name="manufacturername">
<Convert Handler="return value==''?'Unknown Manufacturer Name':value.toUpperTitleCase();"></Convert>
</ext:ModelField>
<ext:ModelField Name="Manufacturer Name" Mapping="manufacturername">
<Convert Handler="return value==''?'Unknown Manufacturer Name':value.toUpperTitleCase();"></Convert>
</ext:ModelField>
<ext:ModelField Name="drugClass">
<Convert Handler="return value==''?'Unknown Drug Class':value;"></Convert>
</ext:ModelField>
<ext:ModelField Name="Short Drug Class" Mapping="drugClass">
<Convert Handler="return value==''?'Unknown Drug Class':value;"></Convert>
</ext:ModelField>
<ext:ModelField Name="Drug Class" Mapping="drugClass">
<Convert Handler="return value==''?'Unknown Drug Class':value;"></Convert>
</ext:ModelField>
<ext:ModelField Name="ShortDrugName">
<Convert Handler="if(record.data.drugName==null)record.data.drugName='';return record.data.drugName.substring(0,70);"></Convert>
</ext:ModelField>
<ext:ModelField Name="version">
</ext:ModelField>
<ext:ModelField Name="newVersion" Mapping="version">
<Convert Handler="return 'v' + record.data.version;"></Convert>
</ext:ModelField>
<ext:ModelField Name="date" Type="Date"></ext:ModelField>
<ext:ModelField Name="nonProprietaryname">
<Convert Handler="return value==''?'Unknown Generic Name':value;"></Convert>
</ext:ModelField>
<ext:ModelField Name="NPN" Mapping="nonProprietaryname">
<Convert Handler="return value==''?'Unknown Generic Name':value.toUpperTitleCase();"></Convert>
</ext:ModelField>
<ext:ModelField Name="Generic Name" Mapping="nonProprietaryname">
<Convert Handler="return record.data.NPN.toUpperTitleCase();"></Convert>
</ext:ModelField>
<ext:ModelField Name="html"></ext:ModelField>
<ext:ModelField Name="setID"></ext:ModelField>
<ext:ModelField Name="followSearch"></ext:ModelField>
<ext:ModelField Name="dosage"></ext:ModelField>
<ext:ModelField Name="hasVersions"></ext:ModelField>
<ext:ModelField Name="applNo" Mapping="applNo"></ext:ModelField>
<ext:ModelField Name="hasDoc"></ext:ModelField>
<ext:ModelField Name="proprietaryname">
<Convert Handler="return value==''?'Unknown Brand Name':value;"></Convert>
</ext:ModelField>
<ext:ModelField Name="Brand Name" Mapping="proprietaryname">
<Convert Handler="return value==''?'Unknown Brand Name':value;"></Convert>
</ext:ModelField>
<ext:ModelField Name="Country" Mapping="country"></ext:ModelField>
<ext:ModelField Name="type" Mapping="type"></ext:ModelField>
<ext:ModelField Name="status">
</ext:ModelField>
<ext:ModelField Name="approveStatus"></ext:ModelField>
<ext:ModelField Name="url"></ext:ModelField>
</Fields>
</ext:Model>
</Model>
<Listeners>
<GroupChange Handler="if(App.gridMask){App.gridMask.hide();}"></GroupChange>
<Refresh Handler="if(App.gridMask){App.gridMask.hide();}"></Refresh>--%>
<Load Handler="App.onStoreLoad();" Delay="100" Buffer="500"></Load>
<GroupChange Handler="App.onStoreGroupChange();"></GroupChange>
<Refresh Handler="App.onStoreRefresh();"></Refresh>
</Listeners>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel31" runat="server">
<Columns>
<ext:Column ID="col123" runat="server" Text="Label Title" Flex="5" DataIndex="setID">
<Renderer Handler="return Controls.Search.getSearchIcon(record)"></Renderer>
</ext:Column>
<ext:Column runat="server" Text="Version" DataIndex="newVersion" Flex="1"></ext:Column>
<ext:Column runat="server" Text="Dosage" DataIndex="dosage" Flex="2"></ext:Column>
<ext:Column runat="server" Text="Revision Date" DataIndex="date" Flex="2">
<Renderer Format="Date" FormatArgs="'j F, Y'" />
</ext:Column>
</Columns>
</ColumnModel>
<View>
<ext:GridView ItemID="GridView1" runat="server" PreserveScrollOnRefresh="false" MultiSelect="true">
<GetRowClass Fn="App.getRowClass" />
</ext:GridView>
</View>
<Features>
<%--="#{Grouping1}[#{Grouping1}.expanded ? 'collapseAll' : 'expandAll'](); #{Grouping1}.expanded = !#{Grouping1}.expanded;" --%>
<ext:Grouping ID="gridResultsGroup" Namespace="App" ItemID="gridResultsGroup" GroupHeaderTplString="{columnName} : {name} ({[values.rows.length]} Item{[values.rows.length > 1 ? 's' : '']})" StartCollapsed="true" runat="server">
</ext:Grouping>
</Features>
<SelectionModel>
<ext:CheckboxSelectionModel ID="chkSelectionModelGridResults" XCheckOnly="true" PruneRemoved="false" ShowHeaderCheckbox="false" CheckOnly="true"
runat="server">
<Listeners>
<Select Fn="App.onDrugSelect"></Select>
<Deselect Fn="App.onDrugDeselect"></Deselect>
</Listeners>
</ext:CheckboxSelectionModel>
</SelectionModel>
<Plugins>
<ext:RowExpander ID="gridResultsExpander" Visible="true" runat="server" ExpandOnDblClick="false" IDMode="Explicit">
<Component>
<ext:GridPanel ID="gridChild1" runat="server" PageX="55" ForceFit="true" Width="930" EnableColumnHide="false">
<Store>
<ext:Store ID="Store167" runat="server" AutoLoad="false">
<Reader>
<%--<ext:JsonReader IDProperty="fileId"></ext:JsonReader>--%>
<ext:JsonReader></ext:JsonReader>
</Reader>
<Model>
<ext:Model ID="Model257" runat="server">
<Fields>
<ext:ModelField Name="fileId"></ext:ModelField>
<ext:ModelField Name="version"></ext:ModelField>
<ext:ModelField Name="effectiveTime" Type="Date"></ext:ModelField>
<ext:ModelField Name="html"></ext:ModelField>
<ext:ModelField Name="setID"></ext:ModelField>
<ext:ModelField Name="drugName" Mapping="DrugName"></ext:ModelField>
<ext:ModelField Name="ShortDrugName">
<Convert Handler="if(record.data.drugName==null)record.data.drugName='';return record.data.drugName.substring(0,70);"></Convert>
</ext:ModelField>
<ext:ModelField Name="Country"></ext:ModelField>
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel2" runat="server">
<Columns>
<ext:Column runat="server" Text="Label Title" DataIndex="ShortDrugName" ID="Column5" Width="550" MaxWidth="550">
</ext:Column>
<ext:Column ID="Column6" runat="server" Text="Version" DataIndex="version" Width="50">
</ext:Column>
<ext:Column ID="Column7" runat="server" Text="Revision Date" DataIndex="effectiveTime" Width="150">
<Renderer Format="Date" FormatArgs="'j F, Y'" />
</ext:Column>
<ext:CommandColumn ID="CommandColumn2" runat="server" Width="180">
<Commands>
<ext:GridCommand Text="View" Icon="ApplicationViewDetail" CommandName="viewHtml" MinWidth="50"></ext:GridCommand>
</Commands>
<Listeners>
<Command Fn="App.SearchResultsCommands"></Command>
</Listeners>
</ext:CommandColumn>
</Columns>
</ColumnModel>
<SelectionModel>
<ext:CheckboxSelectionModel ID="chkgridchildselectionmodel" XCheckOnly="true" PruneRemoved="false" ShowHeaderCheckbox="false" CheckOnly="true"
runat="server">
<Listeners>
<Select Fn="App.onDrugSelect"></Select>
<Deselect Fn="App.onDrugDeselect"></Deselect>
</Listeners>
</ext:CheckboxSelectionModel>
</SelectionModel>
<View>
<ext:GridView ID="GridView2" runat="server" PreserveScrollOnRefresh="true">
</ext:GridView>
</View>
</ext:GridPanel>
</Component>
<Listeners>
<BeforeExpand Handler="#{gridChild1}.store.removeAll();"></BeforeExpand>
</Listeners>
<DirectEvents>
<Expand
Url="~/Search/BeforeGridRowExpand"
Success="body.rendered=true;App.onSuccessGridRowExpand(#{gridChild1}, result);" Timeout="90000">
<EventMask ShowMask="true" Target="CustomTarget" CustomTarget="={#{gridResults}.body}" />
<ExtraParams>
<ext:Parameter Name="setId" Value="record.data.setID" Mode="Raw" />
<ext:Parameter Name="version" Value="record.data.version" Mode="Raw"></ext:Parameter>
<ext:Parameter Name="country" Value="record.data.NPN == 'Uploaded Documents' ? ('cds' + record.data.Country) : record.data.Country" Mode="Raw"></ext:Parameter>
<ext:Parameter Name="formatValue" Value="record.data.productId" Mode="Raw"></ext:Parameter>
</ExtraParams>
</Expand>
</DirectEvents>
<Renderer Handler="return record.data.hasVersions >= 2;"></Renderer>
</ext:RowExpander>
</Plugins>
<Listeners>
<AfterRender Handler="App.setGridMask(); App.setOnGridCollapseEvent();"></AfterRender>
<ItemContextMenu Fn="App.getContextMenu" />
</Listeners>
</ext:GridPanel>
ThanksAmit