I have a GridView which i programmatically bind using c# code. The problem is, the columns get their header texts directly from Database, which can look odd when presented on websites. So basically, i would like to modify the column header text, but programmatically. i have already tried the following,
testGV.Columns[0].HeaderText = "Date";   and
this.testGV.Columns[0].HeaderText = "Date";   does not seem to give me correct result.
You should do that in GridView's RowDataBound event which is triggered for every GridViewRow after it was databound.
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) {     if (e.Row.RowType == DataControlRowType.Header)     {         e.Row.Cells[0].Text = "Date";     } }   or you can set AutogenerateColumns to false and add the columns declaratively on aspx:
<asp:gridview id="GridView1"    onrowdatabound="GridView1_RowDataBound"   autogeneratecolumns="False"   emptydatatext="No data available."     runat="server">     <Columns>          <asp:BoundField DataField="DateField" HeaderText="Date"              SortExpression="DateField" />     </Columns> </asp:gridview> 
                        I Think this Works:
 testGV.HeaderRow.Cells[0].Text="Date" 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With