Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3066
  • Last Modified:

How can I hide a boundfield in Gridview to Visible="false" and still make it work?

The code below works fine but I don't want to display the action_key label. When I change the attribute Visible="True" to false it no long works. Any alternatives?
<asp:GridView ID="gvActions" runat="server" AutoGenerateColumns="False" AutoGenerateEditButton="True" DataSourceID="sdsgvActions"  AllowPaging="True" AllowSorting="True">
	<asp:BoundField DataField="PIR_Key" HeaderText="PIR_Key" InsertVisible="False" 	SortExpression="PIR_Key" Visible="False" />
	<asp:BoundField DataField="Action_Key"  HeaderText="Key" InsertVisible="False" 
                                    Visible="True"    />
	<asp:TemplateField HeaderText="Action Item" SortExpression="Action_Item">
		<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Action_Item") %>' 		TextMode="MultiLine"></asp:TextBox>
		<asp:Label ID="Label2" runat="server" Text='<%# Bind("Action_Item") %>'></asp:Label>
		<ItemStyle VerticalAlign="Top" Wrap="True" />
	<asp:TemplateField HeaderText="Action Status" SortExpression="Action_Status">
		<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Action_Status") 		%>' TextMode="MultiLine"></asp:TextBox>
		<asp:Label ID="Label1" runat="server" Text='<%# Bind("Action_Status") 		%>'></asp:Label>
		<ItemStyle VerticalAlign="Top" Wrap="True" />
	<asp:BoundField DataField="User" HeaderText="User" SortExpression="User" 	ReadOnly="True">
	<ItemStyle VerticalAlign="Top" />
	<asp:TemplateField HeaderText="Action Owner" SortExpression="Action_Owner">
	<asp:DropDownList ID="ddlCeva_owner" runat="server" DataSourceID="sdsCeva_Owner"
	DataTextField="Ceva_Owner_Name" DataValueField="Ceva_Owner_Name" SelectedValue='<%# 	Bind("Ceva_Owner_Name") %>' CssClass="form">
	<asp:SqlDataSource ID="sdsCeva_Owner" runat="server" ConnectionString="<%$ 	ConnectionStrings:BusDevConnectionString %>" SelectCommand="View_Ceva_Owner_DD" 	SelectCommandType="StoredProcedure"></asp:SqlDataSource>
	<asp:Label ID="lblActionOwner" runat="server" Text='<%# Bind("Action_Owner") 	%>'></asp:Label>
	<asp:CheckBoxField DataField="Action_Closed" HeaderText="Closed" 	SortExpression="Action_Closed" />
<FooterStyle BackColor="#CCCC99" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
<RowStyle BackColor="#F7F7DE" />
<AlternatingRowStyle BackColor="White" />
<asp:SqlDataSource ID="sdsgvActions" runat="server" ConnectionString="<%$ ConnectionStrings:BusDevConnectionString %>" SelectCommand="View_Opportunity_Actions_GV" SelectCommandType="StoredProcedure" UpdateCommand="Update_Opportunity_Actions_GV" UpdateCommandType="StoredProcedure">
  	<asp:QueryStringParameter Name="Pir_Key" QueryStringField="Key" Type="Int32" />
 	<asp:Parameter Name="Action_Item" Type="String" />
 	<asp:Parameter Name="Action_Status" Type="String" />
 	<asp:Parameter Name="Ceva_Owner_Name" Type="String" />
 	<asp:Parameter Name="Action_Key" Type="Int32" />

Open in new window

1 Solution
>>> it no long works.
This does not help us. What do you mean exactly "it no longer works." Any error or something else?
I would assume from the code posted that Action_Key is the primary key that the update is using.
So by "no long[er] works" I would imagine your update doesn't have anything to key off of.

If you want to not show the field, but still use it, the Gridview has a feature called DataKeys specifically made for this purpose.

If you scroll down, there are examples in vb and c# that should easily fit into your code.

I'm going to guess that "not working" means that you can't access the text etc. What you should do is set the CssClass="HiddenColumn".
<asp:BoundField DataField="Action_Key"  HeaderText="Key" InsertVisible="False" >
<HeaderStyle CssClass="HiddenColumn" />
<ItemStyle CssClass="HiddenColumn" />

This will hide the column but you will still be able to access the text of the cell etc.

Hope this helps.

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now