This is a migrated thread and some comments may be shown as answers.

Grouped grid and columns show/hide problem

3 Answers 351 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Harri
Top achievements
Rank 1
Harri asked on 09 Sep 2020, 06:36 AM

I have grid where data is grouped and some of columns are not displayed. Column header context menu is enabled, so user can add columns to be shown in grid.

 

Main problem is when user hide/show columns, group header row does not change with columns. I have pictures for these situations.

Problem 1: When user add columns to show, group header row does not grow to fill whole grid, pictures & explanations
1. Starting situation at end of grid where 13 columns are displayed
2. User open context menu from header
3. User select one column to show (in this case Insp. point after AWW Date will be added some point before captured picture area)
4. Column has added to grid in its own place, but at the end of grid group header row is missing one column style fill.
5. When changing runtime code to group header row colspan from 13 to 14 (originally 13 columns to show now 14) last column

Problem 2: When user remove columns to show, group header row does not get smaller with columns count, pictures & explanations
6. When user is hiding columns, now removed two columns from that added one situation
7. Group header row stay with 13 columns and “data” area columns get white area

Group header row will correct itself if whole grid is refresh/rebind but I would not like to do that because it is then doing whole page reload and "flash" the screen so is there any way to do that in client side code? 

3 Answers, 1 is accepted

Sort by
0
Attila Antal
Telerik team
answered on 14 Sep 2020, 06:29 AM

Hi Harri,

Can you please share the markup of the Grid so that I can check the structure? From the Screenshots, I see that scrolling is enabled and perhaps static headers as well. 

Normally similar issues would appear when the Columns do not have a static width defined while using StaticHeaders with Scrolling. The fix for that is to assigned static width for the columns, see Misaligned Columns in RadGrid with Scrolling Enabled. However, I would need to see the complete declaration of the Grid to be able to tell you more.

Kind regards,
Attila Antal
Progress Telerik

Five days of Blazor, Angular, React, and Xamarin experts live-coding on twitch.tv/CodeItLive , special prizes and more, for FREE?! Register now for DevReach 2.0(20).

0
Harri
Top achievements
Rank 1
answered on 14 Sep 2020, 11:10 AM

Hi

Here is grid aspx part:

001.<telerik:RadGrid ID="grITPS" DataSourceID="odsITP" CssClass="CssEditMode" runat="server" Height="92%"
002.                AllowAutomaticUpdates="True" EnableHeaderContextMenu="True" AutoGenerateColumns="False" AllowMultiRowEdit="True"
003.                OnItemDataBound="grITPS_ItemDataBound" OnPreRender="grITPS_PreRender"
004.                OnExcelMLExportStylesCreated="grITPS_ExcelMLExportStylesCreated" OnExcelMLWorkBookCreated="grITPS_ExcelMLWorkBookCreated" OnExcelMLExportRowCreated="grITPS_ExcelMLExportRowCreated" >
005.                <GroupingSettings CollapseAllTooltip="Collapse all groups"></GroupingSettings>
006.                <ClientSettings AllowGroupExpandCollapse="true">
007.                    <Selecting AllowRowSelect="True" EnableDragToSelectRows="false" />
008.                    <Scrolling AllowScroll="True" UseStaticHeaders="True" />
009.                    <ClientEvents OnCommand="onCommand" OnUserAction="userAction" />
010.                </ClientSettings>
011.                <ExportSettings Excel-FileExtension="xls" Excel-Format="ExcelML" ExportOnlyData="true">
012.                    <Pdf PageWidth="">
013.                    </Pdf>
014.                </ExportSettings>
015. 
016.                <MasterTableView DataSourceID="odsITP" CommandItemDisplay="Top" EditMode="Batch" DataKeyNames="ID" TableLayout="Fixed"
017.                    AllowFilteringByColumn="False" AllowMultiColumnSorting="False" AllowNaturalSort="False" AllowSorting="False" EnableLinqGrouping="False" GroupLoadMode="Client">
018.                    <BatchEditingSettings EditType="Row" HighlightDeletedRows="true" />
019.                    <CommandItemSettings ShowExportToExcelButton="True" ExportToExcelText="Vie Exceliin" ShowExportToPdfButton="False" ShowRefreshButton="True" RefreshText="Virkistä" ShowSaveChangesButton="true" SaveChangesText="Tallenna" ShowCancelChangesButton="true" CancelChangesText="Peruuta" ShowAddNewRecordButton="False" />
020.                    <ColumnGroups>
021.                        <telerik:GridColumnGroup HeaderText="REC" Name="Record" HeaderStyle-HorizontalAlign="Center">
022.                        </telerik:GridColumnGroup>
023.                        <telerik:GridColumnGroup HeaderText="S" Name="Supplier" HeaderStyle-HorizontalAlign="Center">
024.                        </telerik:GridColumnGroup>
025.                        <telerik:GridColumnGroup HeaderText="3rd P" Name="ThirdParty" HeaderStyle-HorizontalAlign="Center">
026.                        </telerik:GridColumnGroup>
027.                        <telerik:GridColumnGroup HeaderText="C" Name="Customer" HeaderStyle-HorizontalAlign="Center">
028.                        </telerik:GridColumnGroup>
029.                        <telerik:GridColumnGroup HeaderText="LA" Name="LocalAuthority" HeaderStyle-HorizontalAlign="Center">
030.                        </telerik:GridColumnGroup>
031.                    </ColumnGroups>
032.                    <Columns>
033.                        <telerik:GridBoundColumn DataField="ID" HeaderText="ID" SortExpression="ID" UniqueName="ID" DataType="System.Int32" FilterControlAltText="Filter ID column" HeaderStyle-Width="100px" ItemStyle-Width="100px" Visible="False" ForceExtractValue="Always"></telerik:GridBoundColumn>
034.                        <telerik:GridBoundColumn DataField="PrintHeader" HeaderText="Print Header" SortExpression="PrintHeader" UniqueName="PrintHeader" FilterControlAltText="Filter PrintHeader column" ReadOnly="True" HeaderStyle-Width="200px" ItemStyle-Width="200px" ForceExtractValue="Always"></telerik:GridBoundColumn>
035.                        <telerik:GridBoundColumn DataField="ApplicationHeader" HeaderText="Application Header" SortExpression="ApplicationHeader" UniqueName="ApplicationHeader" FilterControlAltText="Filter ApplicationHeader column" ReadOnly="True" HeaderStyle-Width="200px" ItemStyle-Width="200px" ForceExtractValue="Always"></telerik:GridBoundColumn>
036.                        <telerik:GridBoundColumn DataField="Explanation" HeaderText="Explanation" SortExpression="Explanation" UniqueName="Explanation" FilterControlAltText="Filter Explanation column" ReadOnly="True" HeaderStyle-Width="200px" ItemStyle-Width="200px" ForceExtractValue="Always"></telerik:GridBoundColumn>
037. 
038.                        <telerik:GridTemplateColumn UniqueName="ApprovalInspectionPoint" DataField="ApprovalInspectionPoint" HeaderText="Insp. point" FilterControlAltText="Filter ApprovalInspectionPoint column" SortExpression="ApprovalInspectionPoint" ColumnGroupName="Record" ForceExtractValue="Always" Display="False">
039.                            <HeaderStyle Width="50px"></HeaderStyle>
040.                            <ItemStyle Width="40px"></ItemStyle>
041.                            <ItemTemplate>
042.                                <telerik:RadLabel ID="lblApprovalInspectionPoint" runat="server" Text='<%# Eval("ApprovalInspectionPoint") %>' Width="40px"></telerik:RadLabel>
043.                            </ItemTemplate>
044.                            <EditItemTemplate>
045.                                <telerik:RadComboBox ID="cmbApprovalInspectionPoint" runat="server" DataSourceID="odsInspectionPoint" DataTextField="COD" DataValueField="COD" Width="40px"></telerik:RadComboBox>
046.                            </EditItemTemplate>
047.                        </telerik:GridTemplateColumn>
048.                        <telerik:GridTemplateColumn DataField="ApprovalCheck" HeaderText="Approved" UniqueName="ApprovalCheck" HeaderStyle-Width="80px" ItemStyle-Width="80px" ColumnGroupName="Record" ForceExtractValue="Always" Display="False">
049.                            <ItemTemplate>
050.                                <asp:CheckBox runat="server" ID="chbApprovalCheck1" Enabled="true" Checked='<%# Eval("ApprovalCheck") %>' onclick="checkBoxClick(this, event);" />
051.                            </ItemTemplate>
052.                            <EditItemTemplate>
053.                                <asp:CheckBox runat="server" ID="chbApprovalCheck2" />
054.                            </EditItemTemplate>
055.                        </telerik:GridTemplateColumn>
056.                        <telerik:GridTemplateColumn UniqueName="ApprovalUser" DataField="ApprovalUser" HeaderText="AWW Approver" FilterControlAltText="Filter ApprovalUser column" SortExpression="ApprovalUser" ColumnGroupName="Record" ForceExtractValue="Always" Display="False">
057.                            <HeaderStyle Width="100px"></HeaderStyle>
058.                            <ItemTemplate>
059.                                <telerik:RadLabel ID="lblApprovalUser" runat="server" Text='<%# Eval("ApprovalUser").ToString() %>' Width="95px"></telerik:RadLabel>
060.                            </ItemTemplate>
061.                            <EditItemTemplate>
062.                                <telerik:RadComboBox ID="cmbApprovalUser" runat="server" DataSourceID="odsApprovalUser" DataTextField="Full_name" DataValueField="User_ID" AllowCustomText="True" Filter="Contains" Width="90px" />
063.                            </EditItemTemplate>
064.                        </telerik:GridTemplateColumn>
065.                        <telerik:GridTemplateColumn UniqueName="ApprovalDate" DataField="ApprovalDate" HeaderText="AWW Date" FilterControlAltText="Filter ApprovalDate column" SortExpression="ApprovalDate" ColumnGroupName="Record" ForceExtractValue="Always" Display="False">
066.                            <HeaderStyle Width="120px"></HeaderStyle>
067.                            <ItemStyle Width="110px"></ItemStyle>
068.                            <ItemTemplate>
069.                                <telerik:RadLabel ID="lblApprovalDate" runat="server" Text='<%# Eval("ApprovalDate","{0:d}") %>' Width="110px"></telerik:RadLabel>
070.                            </ItemTemplate>
071.                            <EditItemTemplate>
072.                                <telerik:RadDatePicker ID="rtbApprovalDate" runat="server" Width="110px" />
073.                            </EditItemTemplate>
074.                        </telerik:GridTemplateColumn>
075. 
076. 
077.                        <telerik:GridTemplateColumn UniqueName="SupplierInspectionPoint" DataField="SupplierInspectionPoint" HeaderText="Insp. point" FilterControlAltText="Filter SupplierInspectionPoint column" SortExpression="SupplierInspectionPoint" ColumnGroupName="Supplier" ForceExtractValue="Always" Display="False">
078.                            <HeaderStyle Width="50px"></HeaderStyle>
079.                            <ItemStyle Width="40px"></ItemStyle>
080.                            <ItemTemplate>
081.                                <telerik:RadLabel ID="lblSupplierInspectionPoint" runat="server" Text='<%# Eval("SupplierInspectionPoint") %>' Width="40px"></telerik:RadLabel>
082.                            </ItemTemplate>
083.                            <EditItemTemplate>
084.                                <telerik:RadComboBox ID="cmbSupplierInspectionPoint" runat="server" DataSourceID="odsInspectionPoint" DataTextField="COD" DataValueField="COD" Width="40px"></telerik:RadComboBox>
085.                            </EditItemTemplate>
086.                        </telerik:GridTemplateColumn>
087.                        <telerik:GridTemplateColumn DataField="SupplierApprovalCheck" HeaderText="Approved" UniqueName="SupplierApprovalCheck" HeaderStyle-Width="80px" ItemStyle-Width="80px" ColumnGroupName="Supplier" Display="false" ForceExtractValue="Always">
088.                            <ItemTemplate>
089.                                <asp:CheckBox runat="server" ID="chbSupplierApprovalCheck1" Enabled="true" Checked='<%# Eval("SupplierApprovalCheck") %>' onclick="checkBoxClick(this, event);" />
090.                            </ItemTemplate>
091.                            <EditItemTemplate>
092.                                <asp:CheckBox runat="server" ID="chbSupplierApprovalCheck2" />
093.                            </EditItemTemplate>
094.                        </telerik:GridTemplateColumn>
095.                        <telerik:GridTemplateColumn UniqueName="SupplierUser" DataField="SupplierUser" HeaderText="Approver" FilterControlAltText="Filter SupplierUser column" SortExpression="SupplierUser" ColumnGroupName="Supplier" ForceExtractValue="Always" Display="False">
096.                            <HeaderStyle Width="100px"></HeaderStyle>
097.                            <ItemStyle Width="90px"></ItemStyle>
098.                            <ItemTemplate>
099.                                <telerik:RadLabel ID="lblSupplierUser" runat="server" Text='<%# Eval("SupplierUser").ToString() %>' Width="90px"></telerik:RadLabel>
100.                            </ItemTemplate>
101.                            <EditItemTemplate>
102.                                <telerik:RadComboBox ID="cmbSupplierUser" runat="server" DataSourceID="odsSupplierUser" DataTextField="Full_name" DataValueField="User_ID" AllowCustomText="True" Filter="Contains" Width="90px" />
103.                            </EditItemTemplate>
104.                        </telerik:GridTemplateColumn>
105.                        <telerik:GridTemplateColumn UniqueName="SupplierDate" DataField="SupplierDate" HeaderText="Date" FilterControlAltText="Filter SupplierDate column" SortExpression="SupplierDate" ColumnGroupName="Supplier" ForceExtractValue="Always" Display="False">
106.                            <HeaderStyle Width="120px"></HeaderStyle>
107.                            <ItemStyle Width="110px"></ItemStyle>
108.                            <ItemTemplate>
109.                                <telerik:RadLabel ID="lblSupplierDate" runat="server" Text='<%# Eval("SupplierDate","{0:d}") %>' Width="110px"></telerik:RadLabel>
110.                            </ItemTemplate>
111.                            <EditItemTemplate>
112.                                <telerik:RadDatePicker ID="rtbSupplierDate" runat="server" Width="110px" />
113.                            </EditItemTemplate>
114.                        </telerik:GridTemplateColumn>
115.                        <telerik:GridBoundColumn DataField="SupplierAWWUser" HeaderText="AWW Approver" SortExpression="SupplierAWWUser" UniqueName="SupplierAWWUser" FilterControlAltText="Filter SupplierAWWUser column" ColumnGroupName="Supplier" Display="false" ReadOnly="True" HeaderStyle-Width="100px" ItemStyle-Width="100px" ForceExtractValue="Always"></telerik:GridBoundColumn>
116.                        <telerik:GridBoundColumn DataField="SupplierAWWDate" HeaderText="AWW Date" SortExpression="SupplierAWWDate" UniqueName="SupplierAWWDate" FilterControlAltText="Filter SupplierAWWDate column" DataType="System.DateTime" ColumnGroupName="Supplier" Display="false" ReadOnly="True" HeaderStyle-Width="100px" ItemStyle-Width="100px" ForceExtractValue="Always" DataFormatString="{0:d}"></telerik:GridBoundColumn>
117. 
118. 
119.                        <telerik:GridTemplateColumn UniqueName="ThirdPartyInspectionPoint" DataField="ThirdPartyInspectionPoint" HeaderText="Insp. point" FilterControlAltText="Filter ThirdPartyInspectionPoint column" SortExpression="ThirdPartyInspectionPoint" ColumnGroupName="ThirdParty" ForceExtractValue="Always" Display="False">
120.                            <HeaderStyle Width="50px"></HeaderStyle>
121.                            <ItemStyle Width="40px"></ItemStyle>
122.                            <ItemTemplate>
123.                                <telerik:RadLabel ID="lblThirdPartyInspectionPoint" runat="server" Text='<%# Eval("ThirdPartyInspectionPoint") %>' Width="40px"></telerik:RadLabel>
124.                            </ItemTemplate>
125.                            <EditItemTemplate>
126.                                <telerik:RadComboBox ID="cmbThirdPartyInspectionPoint" runat="server" DataSourceID="odsInspectionPoint" DataTextField="COD" DataValueField="COD" Width="40px"></telerik:RadComboBox>
127.                            </EditItemTemplate>
128.                        </telerik:GridTemplateColumn>
129.                        <telerik:GridTemplateColumn DataField="ThirdPartyApprovalCheck" HeaderText="Approved" UniqueName="ThirdPartyApprovalCheck" HeaderStyle-Width="80px" ItemStyle-Width="80px" ColumnGroupName="ThirdParty" Display="false" ForceExtractValue="Always">
130.                            <ItemTemplate>
131.                                <asp:CheckBox runat="server" ID="chbThirdPartyApprovalCheck1" Enabled="true" Checked='<%# Eval("ThirdPartyApprovalCheck") %>' onclick="checkBoxClick(this, event);" />
132.                            </ItemTemplate>
133.                            <EditItemTemplate>
134.                                <asp:CheckBox runat="server" ID="chbThirdPartyApprovalCheck2" />
135.                            </EditItemTemplate>
136.                        </telerik:GridTemplateColumn>
137.                        <telerik:GridTemplateColumn UniqueName="ThirdPartyUser" DataField="ThirdPartyUser" HeaderText="Approver" FilterControlAltText="Filter ThirdPartyUser column" SortExpression="ThirdPartyUser" ColumnGroupName="ThirdParty" ForceExtractValue="Always" Display="False">
138.                            <HeaderStyle Width="100px"></HeaderStyle>
139.                            <ItemStyle Width="90px"></ItemStyle>
140.                            <ItemTemplate>
141.                                <telerik:RadLabel ID="lblThirdPartyUser" runat="server" Text='<%# Eval("ThirdPartyUser").ToString() %>' Width="90px"></telerik:RadLabel>
142.                            </ItemTemplate>
143.                            <EditItemTemplate>
144.                                <telerik:RadComboBox ID="cmbThirdPartyUser" runat="server" DataSourceID="odsThirdPartyUser" DataTextField="Full_name" DataValueField="User_ID" AllowCustomText="True" Filter="Contains" Width="90px" />
145.                            </EditItemTemplate>
146.                        </telerik:GridTemplateColumn>
147.                        <telerik:GridTemplateColumn UniqueName="ThirdPartyDate" DataField="ThirdPartyDate" HeaderText="Date" FilterControlAltText="Filter ThirdPartyDate column" SortExpression="ThirdPartyDate" ColumnGroupName="ThirdParty" ForceExtractValue="Always" Display="False">
148.                            <HeaderStyle Width="120px"></HeaderStyle>
149.                            <ItemStyle Width="110px"></ItemStyle>
150.                            <ItemTemplate>
151.                                <telerik:RadLabel ID="lblThirdPartyDate" runat="server" Text='<%# Eval("ThirdPartyDate","{0:d}") %>' Width="110px"></telerik:RadLabel>
152.                            </ItemTemplate>
153.                            <EditItemTemplate>
154.                                <telerik:RadDatePicker ID="rtbThirdPartyDate" runat="server" Width="110px" />
155.                            </EditItemTemplate>
156.                        </telerik:GridTemplateColumn>
157.                        <telerik:GridBoundColumn DataField="ThirdPartyAWWUser" HeaderText="AWW Approver" SortExpression="ThirdPartyAWWUser" UniqueName="ThirdPartyAWWUser" FilterControlAltText="Filter ThirdPartyAWWUser column" ColumnGroupName="ThirdParty" Display="false" ReadOnly="True" HeaderStyle-Width="100px" ItemStyle-Width="100px" ForceExtractValue="Always"></telerik:GridBoundColumn>
158.                        <telerik:GridBoundColumn DataField="ThirdPartyAWWDate" HeaderText="AWW Date" SortExpression="ThirdPartyAWWDate" UniqueName="ThirdPartyAWWDate" FilterControlAltText="Filter ThirdPartyAWWDate column" DataType="System.DateTime" ColumnGroupName="ThirdParty" Display="false" ReadOnly="True" HeaderStyle-Width="100px" ItemStyle-Width="100px" ForceExtractValue="Always" DataFormatString="{0:d}"></telerik:GridBoundColumn>
159. 
160. 
161.                        <telerik:GridTemplateColumn UniqueName="CustomerInspectionPoint" DataField="CustomerInspectionPoint" HeaderText="Insp. point" FilterControlAltText="Filter CustomerInspectionPoint column" SortExpression="CustomerInspectionPoint" ColumnGroupName="Customer" ForceExtractValue="Always" Display="False">
162.                            <HeaderStyle Width="50px"></HeaderStyle>
163.                            <ItemStyle Width="40px"></ItemStyle>
164.                            <ItemTemplate>
165.                                <telerik:RadLabel ID="lblCustomerInspectionPoint" runat="server" Text='<%# Eval("CustomerInspectionPoint") %>' Width="40px"></telerik:RadLabel>
166.                            </ItemTemplate>
167.                            <EditItemTemplate>
168.                                <telerik:RadComboBox ID="cmbCustomerInspectionPoint" runat="server" DataSourceID="odsInspectionPoint" DataTextField="COD" DataValueField="COD" Width="40px"></telerik:RadComboBox>
169.                            </EditItemTemplate>
170.                        </telerik:GridTemplateColumn>
171.                        <telerik:GridTemplateColumn DataField="CustomerApprovalCheck" HeaderText="Approved" UniqueName="CustomerApprovalCheck" HeaderStyle-Width="80px" ItemStyle-Width="80px" ColumnGroupName="Customer" Display="false" ForceExtractValue="Always">
172.                            <ItemTemplate>
173.                                <asp:CheckBox runat="server" ID="chbCustomerApprovalCheck1" Enabled="true" Checked='<%# Eval("CustomerApprovalCheck") %>' onclick="checkBoxClick(this, event);" />
174.                            </ItemTemplate>
175.                            <EditItemTemplate>
176.                                <asp:CheckBox runat="server" ID="chbCustomerApprovalCheck2" />
177.                            </EditItemTemplate>
178.                        </telerik:GridTemplateColumn>
179.                        <telerik:GridTemplateColumn UniqueName="CustomerUser" DataField="CustomerUser" HeaderText="Approver" FilterControlAltText="Filter CustomerUser column" SortExpression="CustomerUser" ColumnGroupName="Customer" ForceExtractValue="Always" Display="False">
180.                            <HeaderStyle Width="100px"></HeaderStyle>
181.                            <ItemStyle Width="90px"></ItemStyle>
182.                            <ItemTemplate>
183.                                <telerik:RadLabel ID="lblCustomerUser" runat="server" Text='<%# Eval("CustomerUser").ToString() %>' Width="90px"></telerik:RadLabel>
184.                            </ItemTemplate>
185.                            <EditItemTemplate>
186.                                <telerik:RadComboBox ID="cmbCustomerUser" runat="server" DataSourceID="odsCustomerUser" DataTextField="Full_name" DataValueField="User_ID" AllowCustomText="True" Filter="Contains" Width="90px" />
187.                            </EditItemTemplate>
188.                        </telerik:GridTemplateColumn>
189.                        <telerik:GridTemplateColumn UniqueName="CustomerDate" DataField="CustomerDate" HeaderText="Date" FilterControlAltText="Filter CustomerDate column" SortExpression="CustomerDate" ColumnGroupName="Customer" ForceExtractValue="Always" Display="False">
190.                            <HeaderStyle Width="120px"></HeaderStyle>
191.                            <ItemStyle Width="110px"></ItemStyle>
192.                            <ItemTemplate>
193.                                <telerik:RadLabel ID="lblCustomerDate" runat="server" Text='<%# Eval("CustomerDate","{0:d}") %>' Width="110px"></telerik:RadLabel>
194.                            </ItemTemplate>
195.                            <EditItemTemplate>
196.                                <telerik:RadDatePicker ID="rtbCustomerDate" runat="server" Width="110px" />
197.                            </EditItemTemplate>
198.                        </telerik:GridTemplateColumn>
199.                        <telerik:GridBoundColumn DataField="CustomerAWWUser" HeaderText="AWW Approver" SortExpression="CustomerAWWUser" UniqueName="CustomerAWWUser" FilterControlAltText="Filter CustomerAWWUser column" ColumnGroupName="Customer" Display="false" ReadOnly="True" HeaderStyle-Width="100px" ItemStyle-Width="100px" ForceExtractValue="Always"></telerik:GridBoundColumn>
200.                        <telerik:GridBoundColumn DataField="CustomerAWWDate" HeaderText="AWW Date" SortExpression="CustomerAWWDate" UniqueName="CustomerAWWDate" FilterControlAltText="Filter CustomerAWWDate column" DataType="System.DateTime" ColumnGroupName="Customer" Display="false" ReadOnly="True" HeaderStyle-Width="100px" ItemStyle-Width="100px" ForceExtractValue="Always" DataFormatString="{0:d}"></telerik:GridBoundColumn>
201. 
202. 
203.                        <telerik:GridTemplateColumn UniqueName="LocalAuthorityInspectionPoint" DataField="LocalAuthorityInspectionPoint" HeaderText="Insp. point" FilterControlAltText="Filter LocalAuthorityInspectionPoint column" SortExpression="LocalAuthorityInspectionPoint" ColumnGroupName="LocalAuthority" ForceExtractValue="Always" Display="False">
204.                            <HeaderStyle Width="50px"></HeaderStyle>
205.                            <ItemStyle Width="40px"></ItemStyle>
206.                            <ItemTemplate>
207.                                <telerik:RadLabel ID="lblLocalAuthorityInspectionPoint" runat="server" Text='<%# Eval("LocalAuthorityInspectionPoint") %>' Width="40px"></telerik:RadLabel>
208.                            </ItemTemplate>
209.                            <EditItemTemplate>
210.                                <telerik:RadComboBox ID="cmbLocalAuthorityInspectionPoint" runat="server" DataSourceID="odsInspectionPoint" DataTextField="COD" DataValueField="COD" Width="40px"></telerik:RadComboBox>
211.                            </EditItemTemplate>
212.                        </telerik:GridTemplateColumn>
213.                        <telerik:GridTemplateColumn DataField="LocalAuthorityApprovalCheck" HeaderText="Approved" UniqueName="LocalAuthorityApprovalCheck" HeaderStyle-Width="80px" ItemStyle-Width="80px" ColumnGroupName="LocalAuthority" Display="false" ForceExtractValue="Always">
214.                            <ItemTemplate>
215.                                <asp:CheckBox runat="server" ID="chbLocalAuthorityApprovalCheck1" Enabled="true" Checked='<%# Eval("LocalAuthorityApprovalCheck") %>' onclick="checkBoxClick(this, event);" />
216.                            </ItemTemplate>
217.                            <EditItemTemplate>
218.                                <asp:CheckBox runat="server" ID="chbLocalAuthorityApprovalCheck2" />
219.                            </EditItemTemplate>
220.                        </telerik:GridTemplateColumn>
221.                        <telerik:GridTemplateColumn UniqueName="LocalAuthorityUser" DataField="LocalAuthorityUser" HeaderText="Approver" FilterControlAltText="Filter LocalAuthorityUser column" SortExpression="LocalAuthorityUser" ColumnGroupName="LocalAuthority" ForceExtractValue="Always" Display="False">
222.                            <HeaderStyle Width="100px"></HeaderStyle>
223.                            <ItemStyle Width="90px"></ItemStyle>
224.                            <ItemTemplate>
225.                                <telerik:RadLabel ID="lblLocalAuthorityUser" runat="server" Text='<%# Eval("LocalAuthorityUser").ToString() %>' Width="90px"></telerik:RadLabel>
226.                            </ItemTemplate>
227.                            <EditItemTemplate>
228.                                <telerik:RadComboBox ID="cmbLocalAuthorityUser" runat="server" DataSourceID="odsLocalAuthorityUser" DataTextField="Full_name" DataValueField="User_ID" AllowCustomText="True" Filter="Contains" Width="90px" />
229.                            </EditItemTemplate>
230.                        </telerik:GridTemplateColumn>
231.                        <telerik:GridTemplateColumn UniqueName="LocalAuthorityDate" DataField="LocalAuthorityDate" HeaderText="Date" FilterControlAltText="Filter LocalAuthorityDate column" SortExpression="LocalAuthorityDate" ColumnGroupName="LocalAuthority" ForceExtractValue="Always" Display="False">
232.                            <HeaderStyle Width="120px"></HeaderStyle>
233.                            <ItemStyle Width="110px"></ItemStyle>
234.                            <ItemTemplate>
235.                                <telerik:RadLabel ID="lblLocalAuthorityDate" runat="server" Text='<%# Eval("LocalAuthorityDate","{0:d}") %>' Width="110px"></telerik:RadLabel>
236.                            </ItemTemplate>
237.                            <EditItemTemplate>
238.                                <telerik:RadDatePicker ID="rtbLocalAuthorityDate" runat="server" Width="110px" />
239.                            </EditItemTemplate>
240.                        </telerik:GridTemplateColumn>
241.                        <telerik:GridBoundColumn DataField="LocalAuthorityAWWUser" HeaderText="AWW Approver" SortExpression="LocalAuthorityAWWUser" UniqueName="LocalAuthorityAWWUser" FilterControlAltText="Filter LocalAuthorityAWWUser column" ColumnGroupName="LocalAuthority" Display="false" ReadOnly="True" HeaderStyle-Width="100px" ItemStyle-Width="100px" ForceExtractValue="Always"></telerik:GridBoundColumn>
242.                        <telerik:GridBoundColumn DataField="LocalAuthorityAWWDate" HeaderText="AWW Date" SortExpression="LocalAuthorityAWWDate" UniqueName="LocalAuthorityAWWDate" FilterControlAltText="Filter LocalAuthorityAWWDate column" DataType="System.DateTime" ColumnGroupName="LocalAuthority" Display="false" ReadOnly="True" HeaderStyle-Width="100px" ItemStyle-Width="100px" ForceExtractValue="Always" DataFormatString="{0:d}"></telerik:GridBoundColumn>
243.                         
244.                    </Columns>
245. 
246.                    <EditFormSettings>
247.                        <EditColumn CancelImageUrl="images/BtnCancel.png" InsertImageUrl="images/BtnSave.png" UpdateImageUrl="images/BtnSave.png" ButtonType="ImageButton" HeaderStyle-Width="20"></EditColumn>
248.                    </EditFormSettings>
249.                    <GroupByExpressions>
250.                        <telerik:GridGroupByExpression>
251.                            <SelectFields>
252.                                <telerik:GridGroupByField FieldAlias="SubjectType" FieldName="SubjectType" FormatString="" HeaderText=" " HeaderValueSeparator=" " />
253.                            </SelectFields>
254.                            <GroupByFields>
255.                                <telerik:GridGroupByField FieldAlias="SubjectTypeCod" FieldName="SubjectTypeCod" FormatString="" HeaderText=" " HeaderValueSeparator=" " />
256.                            </GroupByFields>
257.                        </telerik:GridGroupByExpression>
258.                    </GroupByExpressions>
259.                </MasterTableView>
260. 
261.            </telerik:RadGrid>

 

And here is code behind to "master" user columns visibility settings:

01.if (loggedUser.HasRole("ITP_ApproverAWW"))
02.                    {
03.                        #region AWW user
04.                        (grITPS.Columns.FindByUniqueName("SupplierApprovalCheck") as GridTemplateColumn).ReadOnly = true;
05.                        (grITPS.Columns.FindByUniqueName("ThirdPartyApprovalCheck") as GridTemplateColumn).ReadOnly = true;
06.                        (grITPS.Columns.FindByUniqueName("CustomerApprovalCheck") as GridTemplateColumn).ReadOnly = true;
07.                        (grITPS.Columns.FindByUniqueName("LocalAuthorityApprovalCheck") as GridTemplateColumn).ReadOnly = true;
08.                        #endregion
09. 
10.                        #region set Record (AWW) approval from user available change (can see when select columns)
11.                        (grITPS.Columns.FindByUniqueName("ApprovalInspectionPoint") as GridTemplateColumn).Display = true;
12.                        (grITPS.Columns.FindByUniqueName("ApprovalCheck") as GridTemplateColumn).Display = true;
13.                        (grITPS.Columns.FindByUniqueName("ApprovalDate") as GridTemplateColumn).Display = true;
14.                        (grITPS.Columns.FindByUniqueName("ApprovalUser") as GridTemplateColumn).Display = true;
15.                        #endregion
16. 
17.                        #region set Supplier approval from user available change (can see when select columns)
18.                        (grITPS.Columns.FindByUniqueName("SupplierInspectionPoint") as GridTemplateColumn).Display = false;
19.                        (grITPS.Columns.FindByUniqueName("SupplierApprovalCheck") as GridTemplateColumn).Display = false;
20.                        (grITPS.Columns.FindByUniqueName("SupplierDate") as GridTemplateColumn).Display = false;
21.                        (grITPS.Columns.FindByUniqueName("SupplierUser") as GridTemplateColumn).Display = false;
22.                        grITPS.Columns.FindByUniqueName("SupplierAWWDate").Display = false;
23.                        grITPS.Columns.FindByUniqueName("SupplierAWWUser").Display = false;
24.                        #endregion
25. 
26.                        #region set ThirdParty approval from user available change (can see when select columns)
27.                        (grITPS.Columns.FindByUniqueName("ThirdPartyInspectionPoint") as GridTemplateColumn).Display = true;
28.                        (grITPS.Columns.FindByUniqueName("ThirdPartyApprovalCheck") as GridTemplateColumn).Display = false;
29.                        (grITPS.Columns.FindByUniqueName("ThirdPartyDate") as GridTemplateColumn).Display = true;
30.                        (grITPS.Columns.FindByUniqueName("ThirdPartyUser") as GridTemplateColumn).Display = true;
31.                        grITPS.Columns.FindByUniqueName("ThirdPartyAWWDate").Display = false;
32.                        grITPS.Columns.FindByUniqueName("ThirdPartyAWWUser").Display = false;
33.                        #endregion
34. 
35.                        #region set Customer approval from user available change (can see when select columns)
36.                        (grITPS.Columns.FindByUniqueName("CustomerInspectionPoint") as GridTemplateColumn).Display = false;
37.                        (grITPS.Columns.FindByUniqueName("CustomerApprovalCheck") as GridTemplateColumn).Display = false;
38.                        (grITPS.Columns.FindByUniqueName("CustomerDate") as GridTemplateColumn).Display = false;
39.                        (grITPS.Columns.FindByUniqueName("CustomerUser") as GridTemplateColumn).Display = false;
40.                        grITPS.Columns.FindByUniqueName("CustomerAWWDate").Display = false;
41.                        grITPS.Columns.FindByUniqueName("CustomerAWWUser").Display = false;
42.                        #endregion
43. 
44.                        #region set LocalAuthority approval from user available change (can see when select columns)
45.                        (grITPS.Columns.FindByUniqueName("LocalAuthorityInspectionPoint") as GridTemplateColumn).Display = false;
46.                        (grITPS.Columns.FindByUniqueName("LocalAuthorityApprovalCheck") as GridTemplateColumn).Display = false;
47.                        (grITPS.Columns.FindByUniqueName("LocalAuthorityDate") as GridTemplateColumn).Display = false;
48.                        (grITPS.Columns.FindByUniqueName("LocalAuthorityUser") as GridTemplateColumn).Display = false;
49.                        grITPS.Columns.FindByUniqueName("LocalAuthorityAWWDate").Display = false;
50.                        grITPS.Columns.FindByUniqueName("LocalAuthorityAWWUser").Display = false;
51.                        #endregion
52.                    }

 

And here is for one restricted user columns visibility settings: 

1.if (loggedUser.HasRole("ITP_ApproverSupplier"))
2.                        {
3.                            (grITPS.Columns.FindByUniqueName("SupplierInspectionPoint") as GridTemplateColumn).Display = true;
4.                            (grITPS.Columns.FindByUniqueName("SupplierApprovalCheck") as GridTemplateColumn).Display = true;
5.                            (grITPS.Columns.FindByUniqueName("SupplierInspectionPoint") as GridTemplateColumn).ReadOnly = true;
6.                            (grITPS.Columns.FindByUniqueName("SupplierApprovalCheck") as GridTemplateColumn).ReadOnly = false;
7.                        }

 

Hope you understand what is happening.

 

Regard

Harri

0
Attila Antal
Telerik team
answered on 17 Sep 2020, 09:21 AM

Hi Harri,

I've re-used the code snippets you shared to replicate the problem, but I am not seeing the same issue. I followed your instructions and the columns seem to be all organized without any glitch. Probably I am missing something.

Check out the attached sample project and see what I have done. In case something is different, change it to replicate the problem and send it back so I could take a look.

Regards,
Attila Antal
Progress Telerik

Five days of Blazor, Angular, React, and Xamarin experts live-coding on twitch.tv/CodeItLive , special prizes and more, for FREE?! Register now for DevReach 2.0(20).

Tags
Grid
Asked by
Harri
Top achievements
Rank 1
Answers by
Attila Antal
Telerik team
Harri
Top achievements
Rank 1
Share this question
or