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

Unhide grid column based on date

1 Answer 62 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Kevin
Top achievements
Rank 1
Kevin asked on 23 Aug 2011, 09:11 PM
What i need to do is hide a radgrid column and unhide one based on a date.  I got it to work so far to hide the first column but it will not unhide the second column.  Confused at this point??
<telerik:RadGrid ID="myGridPositions" runat="server" BorderWidth="1px" CellPadding="6" GridLines="None" BorderColor="#404040" Skin="Web20">
                                                  <MasterTableView Name="myRGDDMain" AutoGenerateColumns="false" DataKeyNames="intPositionId" Font-Names="Veranda,arial,sans-serif" HeaderStyle-HorizontalAlign="Center" 
                                                  BorderWidth="1px" Width="100%" ItemStyle-HorizontalAlign="Center">
                                                   <HeaderStyle Font-Bold="true" />
                                                   <AlternatingItemStyle BackColor="#B0C4DE" />
                                                           <Columns>
                                                               <telerik:GridBoundColumn DataField="strPosnTitle" HeaderText="TITLE" ItemStyle-HorizontalAlign="left" />
                                                               <telerik:GridBoundColumn DataField="strpara" HeaderText="PARA" ItemStyle-HorizontalAlign="Center" />
                                                               <telerik:GridBoundColumn DataField="strLine" HeaderText="LINE"  ItemStyle-HorizontalAlign="Center" />
                                                               <telerik:GridBoundColumn DataField="intPositionNum" HeaderText="POS"  ItemStyle-HorizontalAlign="Center" />
                                                               <telerik:GridBoundColumn DataField="strGrade" HeaderText="GR"  ItemStyle-HorizontalAlign="Center" />
                                                               <telerik:GridBoundColumn DataField="strMos" HeaderText="MOS"  ItemStyle-HorizontalAlign="Center" />
                                                               <telerik:GridBoundColumn DataField="strFullName" HeaderText="Filled By" ItemStyle-HorizontalAlign="Left" />
                                                               <telerik:GridtemplateColumn HeaderText="LT_MOB" ItemStyle-HorizontalAlign="Center" UniqueName="Latemob">
                                                                   <ItemTemplate>
                                                                       <asp:LinkButton ID="lnkLateMob" runat="server" CommandArgument='<%# bind("intPositionId") %>' CommandName="LateMob">LT_MOB</asp:LinkButton>
                                                                   </ItemTemplate>
                                                               </telerik:GridtemplateColumn>
                                                               <telerik:GridTemplateColumn HeaderText="Remove" ItemStyle-HorizontalAlign="Center">
                                                                   <ItemTemplate>
                                                                       <asp:LinkButton ID="lnkDelete" runat="server" CommandArgument='<%# bind("intPositionId") %>' CommandName="Remove">Remove</asp:LinkButton>
                                                                   </ItemTemplate>
                                                               </telerik:GridTemplateColumn>
                                                                <telerik:GridTemplateColumn HeaderText="Remove" ItemStyle-HorizontalAlign="Center" Visible="false" UniqueName="Refrad">
                                                                   <ItemTemplate>
                                                                       <asp:LinkButton ID="lnkRefrad" runat="server" CommandArgument='<%# bind("intPositionId") %>' CommandName="Refrad">Refrad</asp:LinkButton>
                                                                   </ItemTemplate>
                                                               </telerik:GridTemplateColumn>
                                                           </Columns>
                                                   </MasterTableView>
                                               </telerik:RadGrid>

Protected Sub myGridPositions_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles myGridPositions.ItemDataBound
       Dim Today As DateTime = Date.Now
       Dim deploy As DateTime
       sql = "Select dtDeploy from tblMobUnits where intUnitMobId = " & ddlUic.SelectedValue
       myDataTable = New DataTable
       myDataTable = getData(sql)
       If IsDBNull(myDataTable.Rows(0)(0)) Then
           deploy = Date.Now.AddDays(10)
       Else
           deploy = myDataTable.Rows(0)(0)
       End If
       If Today > deploy Then
           If TypeOf e.Item Is GridDataItem Then
               myGridPositions.MasterTableView.GetColumn("Latemob").Display = False
               myGridPositions.MasterTableView.GetColumn("Refrad").Display = True
           End If
       End If
       If TypeOf e.Item Is GridDataItem Then
           Dim Item As GridDataItem = DirectCast(e.Item, GridDataItem)
           Dim cell As TableCell = Item("strFullName")
           If cell.Text = " " Then
               Dim Late As LinkButton = DirectCast(Item.FindControl("lnkLateMob"), LinkButton)
               Late.Visible = False
               Dim Remove As LinkButton = DirectCast(Item.FindControl("lnkDelete"), LinkButton)
               Remove.Visible = False
           End If
       End If
   End Sub

1 Answer, 1 is accepted

Sort by
0
Tsvetina
Telerik team
answered on 26 Aug 2011, 10:45 AM
Hi Kevin,

You cannot show a column which was hidden using Visible="false" by setting Display="true", since the first does not render the column at all while the other simply sets its display style to the respective value. Use either one property or another in order to get consistent behavior.

All the best,
Tsvetina
the Telerik team

Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

Tags
Grid
Asked by
Kevin
Top achievements
Rank 1
Answers by
Tsvetina
Telerik team
Share this question
or