参考下面的程序:private void addCustomDataTableStyle()
{
   // Add a GridTableStyle and set the MappingName 
   // to the name of the DataTable.
   DataGridTableStyle TSAuthors = new DataGridTableStyle();
   TSAuthors.MappingName = "Authors";   // Add a GridColumnStyle and set the MappingName 
   // to the name of a DataColumn in the DataTable. 
   // Set the HeaderText and Width properties. 
   DataGridColumnStyle TCFirstName = new DataGridTextBoxColumn();
   TCFirstName.MappingName = " AV_FName";
   TCFirstName.HeaderText = "First Name";
   TCFirstName.Width = 75;
   TSAuthors.GridColumnStyles.Add(TCFirstName);   // Add the DataGridTableStyle instance to 
   // the GridTableStylesCollection. 
   dataGrid1.TableStyles.Add(TSAuthors);
}

解决方案 »

  1.   

    请帮我再看一下,哪里需要改,下面这样还是不行.
    DataTable dt=new DataTable("aa");
    dt.Columns.Add("ID",typeof(int));
    dt.Columns.Add("NAME",typeof(string));
    dt.Columns.Add("SEX",typeof(string));
    DataRow dr=dt.NewRow();
    dr["id"]=001;
    dr["name"]="宁采臣";
    dr["sex"]="男";
    dt.Rows.Add(dr);
    dr=dt.NewRow();
    dr["id"]=002;
    dr["name"]="小倩";
    dr["sex"]="女";
    dt.Rows.Add(dr);
    DataGridTableStyle dgts=new DataGridTableStyle();
    dgts.MappingName="dt";
    DataGridColumnStyle dgcs=new DataGridTextBoxColumn();
    dgcs.MappingName="NAME";
    dgcs.HeaderText="姓名";
    dgcs.Width=100;
    dgts.GridColumnStyles.Add(dgcs);
    this.dataGrid1.TableStyles.Add(dgts);
      

  2.   

    this.dataGrid1.TableStyles.Add(dgts);
    之后设定dataGrid1.DataSource=dt
      

  3.   

    你对DG的修改放到private void Page_PreRender(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    ........................
    } private void InitializeComponent()
    {    
    ........;
    this.PreRender += new System.EventHandler(this.Page_PreRender); }
      

  4.   

    下面这样也没用.
    private void Form1_Load(object sender, System.EventArgs e)
    {
    DataTable dt=new DataTable("aa");
    dt.Columns.Add("ID",typeof(int));
    dt.Columns.Add("NAME",typeof(string));
    dt.Columns.Add("SEX",typeof(string));

    DataRow dr=dt.NewRow();
    dr["id"]=001;
    dr["name"]="宁采臣";
    dr["sex"]="男";
    dt.Rows.Add(dr);
    dr=dt.NewRow();
    dr["id"]=002;
    dr["name"]="小倩";
    dr["sex"]="女";
    dt.Rows.Add(dr);

    DataGridTableStyle dgts=new DataGridTableStyle();
    dgts.MappingName="dt";
    DataGridColumnStyle dgcs=new DataGridTextBoxColumn();
    dgcs.MappingName="NAME";
    dgcs.HeaderText="姓名";
    dgcs.Width=200;
    dgts.GridColumnStyles.Add(dgcs);
    this.dataGrid1.TableStyles.Add(dgts);
    this.dataGrid1.DataSource=dt;
    }
      

  5.   

    dgts.MappingName="dt";
    这句有问题试试:dgts.MappingName="table";
      

  6.   

    下面是一个label的例子:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;namespace WebApp
    {
    /// <summary>
    /// WebForm1 的摘要说明。
    /// </summary>
    public class WebForm1 : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.Label Label1;
    protected System.Web.UI.WebControls.DataGrid DataGrid1;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    int i;
    i=12;
    i= i + i;
    Label1.Width=100; }
    private void Page_PreRender(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    int i;
    i=12;
    i= i + i;
    Label1.Width=10;
    } #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
    this.DataGrid1.SelectedIndexChanged += new System.EventHandler(this.DataGrid1_SelectedIndexChanged);
    this.Load += new System.EventHandler(this.Page_Load);
    this.PreRender += new System.EventHandler(this.Page_PreRender); }
    #endregion

    }
    }
      

  7.   

    已经可以了,把"dt"换成"aa"可以了.谢谢各位了.
    dgts.MappingName="dt";--dgts.MappingName="aa";