datagrid1.columns.item(0).headertext="....",

解决方案 »

  1.   

    aspx文件:
    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1" %>
    <HTML>
    <HEAD>
    <title>WebForm1</title>
    </HEAD>
    <body>
    <form id="Form1" method="post" runat="server">
    <P>
    <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
    <Columns>
    <asp:BoundColumn DataField="Price" HeaderText="test"></asp:BoundColumn>
    </Columns>
    </asp:DataGrid></P>
    <P><asp:button id="Button1" runat="server" Text="Button"></asp:button></P>
    </form>
    </body>
    </HTML>
    cs文件:
    public class WebForm1 : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
    protected System.Web.UI.WebControls.Button Button1;

    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    {
    Binder();
    }
    }
    #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: This call is required by the ASP.NET Web Form Designer.
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {    
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void Binder()
    {
    DataGrid1.DataSource = dt();
    DataGrid1.DataBind();
    } private DataTable dt()
    {
    DataColumn myColumn = new DataColumn(); 
    myColumn.DataType = System.Type.GetType("System.Decimal"); 
    myColumn.AllowDBNull = false; 
    myColumn.Caption = "Price"; 
    myColumn.ColumnName = "Price"; 
    DataTable myTable = new DataTable();
    myTable.Columns.Add(myColumn); 
    DataRow myRow = myTable.NewRow();
    myRow["Price"] = 1;
    myTable.Rows.Add(myRow); 
    return myTable;
    } private void Button1_Click(object sender, System.EventArgs e)
    {
    DataGrid1.Columns[0].HeaderText+="2";
    Binder();
    }
    }
      

  2.   

    winform下,可以用dataGridTableStyle。
    TableStyle = new DataGridTableStyle();
    DataGridColumnStyle TextCol;
    TextCol = new DataGridTextBoxColumn();
    TextCol.MappingName = myDataTable.Columns[i].ToString();
    TextCol.HeaderText = myDataTable.Columns[i].ToString();
    TableStyle.GridColumnStyles.Add(TextCol);