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

x
  • 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">
<Columns>
	<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">
		<EditItemTemplate>
		<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Action_Item") %>' 		TextMode="MultiLine"></asp:TextBox>
		</EditItemTemplate>
		<ItemTemplate>
		<asp:Label ID="Label2" runat="server" Text='<%# Bind("Action_Item") %>'></asp:Label>
		</ItemTemplate>
		<ItemStyle VerticalAlign="Top" Wrap="True" />
	</asp:TemplateField>
	<asp:TemplateField HeaderText="Action Status" SortExpression="Action_Status">
		<EditItemTemplate>
		<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Action_Status") 		%>' TextMode="MultiLine"></asp:TextBox>
		</EditItemTemplate>
		<ItemTemplate>
		<asp:Label ID="Label1" runat="server" Text='<%# Bind("Action_Status") 		%>'></asp:Label>
		</ItemTemplate>
		<ItemStyle VerticalAlign="Top" Wrap="True" />
	</asp:TemplateField>
	<asp:BoundField DataField="User" HeaderText="User" SortExpression="User" 	ReadOnly="True">
	<ItemStyle VerticalAlign="Top" />
	</asp:BoundField>
	<asp:TemplateField HeaderText="Action Owner" SortExpression="Action_Owner">
	<EditItemTemplate>
	<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:DropDownList>
	<asp:SqlDataSource ID="sdsCeva_Owner" runat="server" ConnectionString="<%$ 	ConnectionStrings:BusDevConnectionString %>" SelectCommand="View_Ceva_Owner_DD" 	SelectCommandType="StoredProcedure"></asp:SqlDataSource>
	</EditItemTemplate>
	<ItemTemplate>
	<asp:Label ID="lblActionOwner" runat="server" Text='<%# Bind("Action_Owner") 	%>'></asp:Label>
	</ItemTemplate>
	</asp:TemplateField>
	<asp:CheckBoxField DataField="Action_Closed" HeaderText="Closed" 	SortExpression="Action_Closed" />
	</Columns>
<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:GridView>
<asp:SqlDataSource ID="sdsgvActions" runat="server" ConnectionString="<%$ ConnectionStrings:BusDevConnectionString %>" SelectCommand="View_Opportunity_Actions_GV" SelectCommandType="StoredProcedure" UpdateCommand="Update_Opportunity_Actions_GV" UpdateCommandType="StoredProcedure">
<SelectParameters>
  	<asp:QueryStringParameter Name="Pir_Key" QueryStringField="Key" Type="Int32" />
</SelectParameters>
<UpdateParameters>
 	<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" />
</UpdateParameters>
</asp:SqlDataSource>

Open in new window

0
JessyRobinson1234
Asked:
JessyRobinson1234
1 Solution
 
prairiedogCommented:
>>> it no long works.
This does not help us. What do you mean exactly "it no longer works." Any error or something else?
0
 
samtran0331Commented:
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.

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.datakeynames.aspx
If you scroll down, there are examples in vb and c# that should easily fit into your code.

0
 
M3mph15Commented:
Hi,
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" />
</asp:BoundFiled>
 
.HiddenColumn
{
         display:none;
}

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

Hope this helps.
-M3mph15
0

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