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
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).
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 user04. (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. #endregion09. 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. #endregion16. 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. #endregion25. 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. #endregion34. 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. #endregion43. 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. #endregion52. }
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
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).
