Forms Data Controls :: How To Change HeaderText In GridView From Code Behind
May 4, 2010
I am using Templates in GridView, but now I have to change the "HeaderText" of each column from code behind. I don't have <HeaderTemplate> so therefore I cannot use FndControl() in header row.
Is there a way to change the HeaderText of each colum without using <HeaderTemplate>
Here are the templates of the GridView which I am using
I have a gridview and I would like to be able to programatically change the HeaderText of it's columns (probably in the DataBinding event). I know this can normally be achieve with something like this:
myGrid.Columns[0].HeaderText = "My Header Text";
However, the gridview in question is actually nested within another gridview (via template column). So I can't access it directly. I'm trying to use the FindControl method to access it, but so far that isn't working.
Is tehre anyway to set the HeaderText dynamically on a gridview? I'm trying the below, it kind of works, but the problem is on the initial load nothing shows up, but when I postback then the new text populates: grdvMyTest.HeaderRow.Cells[5].Text = GetTheCalculatedDate();
I've tried that in both Page_Load and grdMyTest_Load, but same thing happens in both. When the page initial loads the column header text is blank, when I click something causing a postback it pops up. I don't have a IsPostBack check around that line, so it should be running regradless. I'm guessing I'm doing it at the wrong event, either too eariler or too late.
I have a GridView whose AutoGenerateColumns="False". However, I don't want to statically specify the HeaderText for the columns in HTML markup. Rather I'd like to set the HeaderText to be the name of the underlying SQLDataSource column name. How can I do this?
I am using VS2008.I am binding dynamic datatable to gridview. I have few dropdowns and textboxes in gridview. I have dropdownlist(ddlTrCodeNw_)in gridview foooter template. Based on the selection of Trcode value few controls will be enabled,disabled,visible,hide. in gridview.
<asp:GridView ID="gvAPPost" runat="server" Width="100%" ShowFooter="true" AllowPaging="true" AutoGenerateColumns="false" onrowcommand="gvAPPost_RowCommand" onrowdatabound="gvAPPost_RowDataBound" > <Columns> <asp:TemplateField HeaderText="Discount %" Visible="false"> <FooterTemplate> <asp:TextBox ID="txtDiscountPerNw" runat="server" Width="40px" Enabled="false" Visible="false" ></asp:TextBox > </FooterTemplate> <ItemTemplate> <asp:TextBox ID="txtDiscountPer" runat="server" Width="40px" Enabled="false" Visible="false"></asp:TextBox > </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> Intially I set TemplateField HeaderText also Visible="false". so i have written the condition in ddlTrCodeNw_SelectedIndexChanged. Now when if(ddlTrCodeNw.SelectedValue=="24") { txtDepstNw.Enabled = true; txtDepstIncNw.Enabled = true; txtCrdtNw.Enabled = false; txtCrdtIncNw.Enabled = false; lblDiscTrcodeNw.Visible = true; // I want to show this TemplateField HeaderText also when i need. }
I can I show TemplateField HeaderText also whenever i need.
I have a grid that is built as well as populated dynamically through c# code. The grid has 3 columns(3 bound fields). And data is being populated in those bound fields through c# code programatically.
Elaborating my question: I have 3 bound field columns(col1, col2 & col3) . I have to increase the rowspan of col2 and col3 headertext's to 2 i.e I want the col2 and col3 header texts to span across two row cells. But the col1 header text should span across just 1 row. And the extra rowscell that is created under col1 due to the increase in the rowspans (of col2 and col3 boundfield headertexts) should be populated with some random text, i.e something like XXXXX
how to load Gridview HeaderText values from resource (.resx) files.I want to display headertext values for Gridview based on two different application dynamically.
I'm trying to change one section in code from DataGrid format to GridView format. The reasoning is that the sample application that was displayed was using a DataGrid even though it should have been using a Gridview for 2.0 and above. Most of it shows up without an error except one line in 3 lines which are pretty much the same. I bolded them and just want to know how do I re-write them for the Gridview?
Protected Sub NewsGrid_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles NewsGrid.RowCommand Dim connection As SqlConnection = CreateConnection() If e.CommandName = "Delete" Then Dim com As New SqlCommand("DELETE FROM ElectPageEditor WHERE NewsID = @NewsID", connection) com.Parameters.AddWithValue("@NewsID", e.Item.Cells(0).Text) Try connection.Open() com.ExecuteNonQuery() Catch generatedExceptionName As SqlException Finally connection.Close() End Try ElseIf e.CommandName = "Edit" Then Dim command As New SqlCommand("SELECT NewsText FROM ElectPageEditor WHERE NewsID = @NewsID", connection) command.Parameters.AddWithValue("@NewsID", e.Row.Cells(0).Text) Try connection.Open() Dim record As SqlDataReader = command.ExecuteReader(CommandBehavior.CloseConnection) If record.Read() Then NewsEditor.Content = record.GetString(0) EditedNews.Value = e.Item.Cells(0).Text lse NewsEditor.Content = "" EditedNews.Value = "" End If ' Will close the connection as well record.Close() Catch generatedExceptionName As SqlException Finally connection.Close() End Try End If ' Add code to delete row from data source. ReadAllRecords() End Sub
I am wondering if its possibl to change the DataField value of the asp:BoundField in the code behind.aspx page:
[Code]....
I would like to change DataField="From" to DataField="To" before I call the GridView.DataBind.Please let me know if this is possible and if so how can I do it.
I have a gridview that loads with a new datasource on button click event. On the gridview (which is located in a table columm incidentally) are 2 columns, a descriptor and a checkbox. The problem is that after postback, the column widths change, the checkbox column expands and the other column contracts. Is there a way to keep the gridview column sizes the same after postback?
I cannot figure out why HeaderText or validation controls always fallback to default culture - even though rest of the controls are in correct culture.
I have a GridView with HeaderText specified in this way>
How to change the values in gridview on text change of templated control without databind again?the value of templated text boxes should change If i change the value of one of the templated textbox then accordingly(By mathematical calculations) the vlaues of all tempated textboxes should also change.
When i run the following code i get an error when gridview changes mode to Edit. stating that you can't change string to decimal!
To get around the occurance i want to disable code when in Edit mode or resolve another way?
GridView1_RowDataBound For Each row As GridViewRow In GridView1.Rows Dim cell As TableCell = row.Cells(7) Dim invoicetotal As Decimal = CDec(cell.Text)
I have a gridview in which I have several editable fields. The user wants a non-editable field to be modified if another field is modified in the same row. e.g. if Age>=65, Status should ="Retired"
I am using the following demo: [URL]
to create a bulk edit gridview so some columns are automatically editable and others aren't, with a single update button. I can set Status="Retired" in the xml generated, or as a rule in database table. But I'd like the status field in the gridview to change when Age is modified and to be shown to user before they press the single Update button. I'm using update panels and ajax on the page also.