Scott
Scott

Reputation: 2760

asp:hiddenfield in GridView - Grid Line

I have an asp:gridview with some hidden fields, but I can see grid lines for them. How do I get rid of them?

My grid:

<asp:GridView ID="VendorAdminGrid" runat="server" DataKeyNames="UserCode" RowStyle-CssClass="ui-widget-content ui-corner-all" FooterStyle-CssClass="ui-widget-content ui-corner-all"
    AutoGenerateColumns="False" Width="800px" ShowFooter="True" HeaderStyle-CssClass="ui-widget-header ui-corner-all"
    DataSourceID="VendorAdminDataSource" OnRowCommand="VendorAdminGrid_RowCommand"
    OnRowUpdating="VendorAdminGrid_RowUpdating">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:HiddenField ID="txtOldEmail" runat="server" Value='<%# Bind("Email") %>' />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:HiddenField ID="txtOldAlternateEmail" runat="server" Value='<%# Bind("AlternateEmail") %>' />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:HiddenField ID="txtOldPhone" runat="server" Value='<%# Bind("Phone") %>' />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:HiddenField ID="txtOldContactPhone" runat="server" Value='<%# Bind("ContactNumber") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

Upvotes: 0

Views: 305

Answers (1)

Ann L.
Ann L.

Reputation: 13965

Out of curiosity, is there a reason you're giving each hidden field its own column? You could put them all in one <ItemTemplate>.

That way, you could hide the column by applying a simple CSS style to the GridView itself:

TABLE.hiddenFirstColumn TD:first-of-type {
    display:none;
}

You'd apply it like this:

 <asp:GridView CssClass="hiddenFirstColumn">
   <asp:TemplateField>
        <ItemTemplate>
            <asp:HiddenField ID="txtOldEmail" runat="server" Value='<%# Bind("Email") %>' />
            <asp:HiddenField ID="txtOldAlternateEmail" runat="server" Value='<%# Bind("AlternateEmail
        </ItemTemplate>
    </asp:TemplateField>

You can keep the four separate columns, but you'd need to do your CSS like this:

TABLE.hiddenFirstColumns TD {
    display:none;
}
TABLE.hiddenFirstColumns TD + TD + TD + TD + TD { /* Column 5 and all that follow */
    display:table-cell;
}

Upvotes: 1

Related Questions