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

Hide headerText in EditMode

3 Answers 454 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Ron
Top achievements
Rank 1
Ron asked on 04 Aug 2011, 03:27 PM
Telerik,
I am using a RadGrid and when I switch to EditMode, I have certain controls that I am disabling using the ItemDataBound event. I would like to completely hide these same controls instead of just disabling them. I know I can do that by setting Visible proper to false. However, I cannot determine how to hide the headerText that is associated with these controls in the Edit Form. Not sure of this would be done during the ItemDataBound event or possibly the ItemCreated event or which object to use. Any help would be appreciated.

Here is my RadGrid:
  <telerik:RadGrid ID="rgDocuments" runat="server" Skin="Windows7"

                AutoGenerateColumns="False"

                AllowPaging="True"

                AllowSorting="True"

                ShowFooter="True"

                Height="425px" 

                CellSpacing="0" 

                GridLines="None" 

                PageSize="25" >

            

                <ExportSettings  OpenInNewWindow="true" Pdf-Title="VendorDocuments" Excel-FileExtension=".xls" FileName="VendorDocuments">

                    <Pdf  />

                    <Excel  Format="ExcelML"/>

                </ExportSettings>

                <ClientSettings>

                    <Scrolling AllowScroll="True" UseStaticHeaders="True" />

                </ClientSettings>

                

                <MasterTableView PageSize="25" NoMasterRecordsText="No documents exist for this vendor." DataKeyNames="vcertIdentity,vcertTypeIdentity">

                    <Columns>

                        <telerik:GridEditCommandColumn EditText="Edit" ButtonType="ImageButton" HeaderStyle-Width="25px">

                        </telerik:GridEditCommandColumn>

                        <telerik:GridButtonColumn 

                            HeaderStyle-Width="25px"

                            CommandName="Delete"

                            ButtonType="ImageButton" 

                            Text="Delete"

                            ConfirmDialogType="Classic"

                            ConfirmTitle="Document Management" 

                            ConfirmText="Are you sure you want to delete the document?">

                        </telerik:GridButtonColumn>

                        <telerik:GridTemplateColumn HeaderStyle-Width="25px">

                            <ItemTemplate>

                                <%--<asp:HyperLink ID="hlDoclink" runat="server" Target="_blank" ImageUrl="~/images/AddRecord.gif" NavigateUrl='<%#"http://corp.ubh.com/docimage/Vendors_Test/" & Eval("DocPath") %>'></asp:HyperLink>--%>

                                <asp:HyperLink ID="hlDocLink" runat="server" Target="_blank" ImageUrl="~/images/AddRecord.gif" NavigateUrl=""></asp:HyperLink>

                            </ItemTemplate>

                        </telerik:GridTemplateColumn>

                        <telerik:GridTemplateColumn HeaderText="Type" HeaderTooltip="Document type" SortExpression="vctShortName">

                            <EditItemTemplate>

                                <telerik:RadComboBox ID="rcboDocType_Edit" runat="server" Skin="Windows7"

                                    DataSourceID="ods_DocumentTypes" 

                                    DataTextField="vctShortName" 

                                    DataValueField="vctIdentity"

                                    SelectedValue='<%# Bind("vcertTypeIdentity") %>'

                                    Width="275px" 

                                    CausesValidation="False">

                                </telerik:RadComboBox>

                            </EditItemTemplate>

                            <ItemTemplate>

                                <asp:Label ID="lblDocType_Item" runat="server" Text='<%# Bind("vctShortName") %>'></asp:Label>

                            </ItemTemplate>

                        </telerik:GridTemplateColumn>

                        <telerik:GridTemplateColumn HeaderText="State" HeaderStyle-Width="40px" SortExpression="vcertState" UniqueName="States">

                            <EditItemTemplate>

                                <telerik:RadComboBox ID="rcboState_Edit" runat="server" Skin="Windows7"

                                    Width="125px"

                                    SelectedValue='<%# Bind("vcertState") %>'

                                    DataSourceID="ods_StatesLookup" 

                                    DataTextField="StateName" 

                                    DataValueField="StateCode">

                                </telerik:RadComboBox>

                            </EditItemTemplate>

                            <ItemTemplate>

                                <asp:Label ID="lblDocState_Item" runat="server" Text='<%# Bind("vcertState") %>'></asp:Label>

                            </ItemTemplate>

                        </telerik:GridTemplateColumn>

                        <telerik:GridTemplateColumn HeaderText="File Name">

                            <EditItemTemplate>

                                <asp:Label ID="lblDocName_Edit" runat="server" Text='<%# Bind("vcertFileName") %>' ></asp:Label>

                            </EditItemTemplate>

                            <ItemTemplate>

                                <asp:Label ID="lblDocName_Item" runat="server" Text='<%# Bind("vcertFileName") %>'></asp:Label>

                            </ItemTemplate>

                        </telerik:GridTemplateColumn>

                        <telerik:GridTemplateColumn HeaderText="Effective Date" HeaderStyle-Width="100px" SortExpression="vcertEffectiveDate" UniqueName="EffectiveDate">

                            <EditItemTemplate>

                                <telerik:RadDatePicker ID="rdpDocEffDate_Edit" runat="server" Skin="Windows7"

                                    SelectedDate='<%# Bind("vcertEffectiveDate") %>'

                                    MinDate="1900-01-01">

                                </telerik:RadDatePicker>

                            </EditItemTemplate>

                            <ItemTemplate>

                                <asp:Label ID="lblDocEffDate_Item" runat="server" Text='<%# Eval("vcertEffectiveDate", "{0:d}") %>'></asp:Label>

                            </ItemTemplate>

                        </telerik:GridTemplateColumn>

                        <telerik:GridTemplateColumn HeaderText="Expiration Date" HeaderStyle-Width="100px" SortExpression="vcertExpirationDate">

                            <EditItemTemplate>

                                <telerik:RadDatePicker ID="rdpDocExpDate_Edit" runat="server" Skin="Windows7"

                                    SelectedDate='<%# Bind("vcertExpirationDate") %>' 

                                    MinDate="1900-01-01">

                                </telerik:RadDatePicker>

                            </EditItemTemplate>

                            <ItemTemplate>

                                <asp:Label ID="lblDocExpDate_Item" runat="server" Text='<%# Eval("vcertExpirationDate", "{0:d}") %>'></asp:Label>

                            </ItemTemplate>

                        </telerik:GridTemplateColumn>

                        <telerik:GridTemplateColumn HeaderText="License #" HeaderStyle-Width="100px" SortExpression="vcertLicenseNumber">

                            <EditItemTemplate>

                                <telerik:RadTextBox ID="rtbLicense_Edit" runat="server" 

                                    Skin="Windows7"

                                    Text='<%# Bind("vcertLicenseNumber") %>'>

                                </telerik:RadTextBox>

                            </EditItemTemplate>

                            <ItemTemplate>

                                <asp:Label ID="lblLicense_Item" runat="server" Text='<%# Bind("vcertLicenseNumber") %>'></asp:Label>

                            </ItemTemplate>

                        </telerik:GridTemplateColumn>

                        <telerik:GridTemplateColumn HeaderText="Validated" HeaderStyle-Width="60px" SortExpression="vcertIsValidated">

                            <ItemStyle HorizontalAlign="Center" />

                            <EditItemTemplate>

                                <asp:Label ID="lblIsValidated_Edit" runat="server" Text='<%# Bind("vcertIsValidated") %>' ></asp:Label> 

                            </EditItemTemplate>

                            <ItemTemplate>

                                 <asp:Label ID="lblIsValidated_Item" runat="server" Text='<%# Bind("vcertIsValidated") %>' ></asp:Label> 

                            </ItemTemplate>

                        </telerik:GridTemplateColumn>

                    </Columns>    

                    <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>

                    <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"></RowIndicatorColumn>

                    <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"></ExpandCollapseColumn>

                    <EditFormSettings>

                        <EditColumn ButtonType="ImageButton" FilterControlAltText="Filter EditCommandColumn column" EditFormColumnIndex="2"></EditColumn>

                    </EditFormSettings>

                                   

                </MasterTableView>

                <FilterMenu EnableImageSprites="False" ></FilterMenu>

                <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Windows7"></HeaderContextMenu>

            

            </telerik:RadGrid>


Here is my code from the ItemDataBound Event:

 'build the hyperlink for the document

        If TypeOf e.Item Is GridDataItem Then

            Dim item As GridDataItem = DirectCast(e.Item, GridDataItem)

            'get the document filename

            Dim fileName As String = DirectCast(item.FindControl("lblDocName_Item"), Label).Text

            'set the document URL

            Dim link As HyperLink = DirectCast(item.FindControl("hlDocLink"), HyperLink)

            link.NavigateUrl = DocumentURL.Trim + FederalID.Trim + "/" + fileName

        End If

        'modify controls when in edit mode

        If (TypeOf e.Item Is GridEditableItem) AndAlso (e.Item.IsInEditMode) Then

            Dim editItem As GridEditFormItem = DirectCast(e.Item, GridEditFormItem)

            'get the document type identity

            Dim documentTypeId As Integer = CInt(e.Item.OwnerTableView.DataKeyValues(e.Item.ItemIndex)("vcertTypeIdentity"))

            If (documentTypeId = DocumentType.W9Doc) Or (documentTypeId = DocumentType.SubProfProfile) Then

                'disable the states dropdown

                Dim statesCombo As RadComboBox = DirectCast(editItem.FindControl("rcboState_Edit"), RadComboBox)

                statesCombo.Enabled = False

                'statesCombo.Visible = False

                'disable the date pickers

                Dim effDatePicker As RadDatePicker = DirectCast(editItem.FindControl("rdpDocEffDate_Edit"), RadDatePicker)

                effDatePicker.Enabled = False

                'effDatePicker.Visible = False

                Dim expDatePicker As RadDatePicker = DirectCast(editItem.FindControl("rdpDocExpDate_Edit"), RadDatePicker)

                expDatePicker.Enabled = False

                'expDatePicker.Enabled = False

                'disable the license number

                Dim licenseTextBox As RadTextBox = DirectCast(editItem.FindControl("rtbLicense_Edit"), RadTextBox)

                licenseTextBox.Enabled = False

                'licenseTextBox.Visible = False

            End If

        End If


3 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 04 Aug 2011, 04:03 PM
Hello Ron,

To hide the HeaderText when the column is in edit mode just set EditFormHeaderTextFormat = "".
aspx:
<telerik:GridTemplateColumn EditFormHeaderTextFormat="" DataField="TextField1"
   HeaderText="TextField1" UniqueName="TextField1">

Thanks,
Shinu.
0
Ron
Top achievements
Rank 1
answered on 04 Aug 2011, 04:28 PM
Thanks Shinu,
In my case the hiding of the header text is conditional based on other data in the row. How do I set that programmatically at the same time I am hiding the controls (text boxes, combo boxes)?

0
Shinu
Top achievements
Rank 2
answered on 05 Aug 2011, 07:20 AM
Hello Ron,

You can achieve this in ItemDataBound event as shown below.
C#:
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
 if (e.Item is GridEditableItem && e.Item.IsInEditMode)
 {
   GridEditableItem item = (GridEditableItem)e.Item;
   TextBox txtBox = (TextBox)item["ColumnUniqueName"].Controls[0];
   txtBox.Parent.Parent.Visible=false;
 }
}

Thanks,
Shinu.
Tags
Grid
Asked by
Ron
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Ron
Top achievements
Rank 1
Share this question
or