for(int i=0;i<szcd;i++)
{
BoundColumn BC = new BoundColumn();
BC.HeaderText = Shz[i].ToString();//这个就是字段汉字名称
BC.DataField  = Spy[i].ToString();//这个是字段的实际名称
DataGrid6.Columns.Add(BC);
}

解决方案 »

  1.   

    /// <summary>
    /// ///初始货DataGrid控件
    /// </summary>
    /// <param name="strArrCloTitles">DataGrid列标题数组</param>
    /// <param name="strArrFileds">与DdataGrid列绑定的表字段名数组</param>
    /// <param name="strTableName">表名当前DataGrid数据的表名</param>
    /// <param name="strFiltCon">DataGrid显示数据集的条件</param>
    /// <param name="strFieldNam">数据表的关键字</param>
    /// <param name="nEpageRows">分页时每页的记录数</param>
    /// nCallType调用类型1、初始化调用;2、数据绑定调用
    public void CeIintDataGrd(String []strArrCloTitles,String []strArrFileds,
    String strTableName,String strFiltCon,String strKeyFieldNam,int nEpageRows,DataGrid gDataGrd,int nCallType)
    {
    if(strArrCloTitles.Length<=0)
    {
    this.strErrorMsg="您未填写系统表,不能初始化DataGrid";
    return;
    }
    //////////设置DataGrd的基本属性
    if(nCallType==1)
    {
    gDataGrd.AutoGenerateColumns=false;
    gDataGrd.AllowCustomPaging=true;
    gDataGrd.AllowPaging=true;
    gDataGrd.AutoGenerateColumns=false;///////自动产生列设置为False;
    gDataGrd.GridLines=System.Web.UI.WebControls.GridLines.Both;//横线与竖线
    gDataGrd.BorderWidth=3;
    gDataGrd.BorderColor=System.Drawing.Color.Silver;
    gDataGrd.SelectedItemStyle.BackColor=System.Drawing.Color.Silver;//设置选择项的背景色
    gDataGrd.SelectedItemStyle.ForeColor=System.Drawing.Color.Blue;//设置选择项的前景色
    gDataGrd.HeaderStyle.BackColor=System.Drawing.Color.Silver;
    gDataGrd.HeaderStyle.ForeColor=System.Drawing.Color.Black;
    gDataGrd.HeaderStyle.BorderWidth=3;
    gDataGrd.HeaderStyle.Height=10;
                
    if(nEpageRows<=0)
    gDataGrd.PageSize=6;
    else
    gDataGrd.PageSize=nEpageRows;
    //////////////////
    gDataGrd.PagerStyle.PrevPageText="<上一页";
    gDataGrd.PagerStyle.NextPageText="下一页>";
    //////////////生成一个BoundColumn实例///////////////
    BoundColumn BoundClm;
    gDataGrd.Font.Size=9;
    gDataGrd.Font.Name="宋体";
    ////////////////////创建Columns并初始化DataGrid的列标题//////////////////
    ButtonColumn btnClm=new ButtonColumn();
    btnClm.HeaderText=strArrCloTitles[0].ToString();/////设置列标题
    btnClm.DataTextField=strArrFileds[0].ToString();///设置列所对应的数据字段
    btnClm.HeaderStyle.Font.Name="宋体";
    btnClm.HeaderStyle.Font.Size=9;
    btnClm.CommandName=System.Web.UI.WebControls.DataGrid.SelectCommandName;

    gDataGrd.Columns.Add(btnClm);
    for(int nDataGrdCols=1;nDataGrdCols<strArrCloTitles.Length;nDataGrdCols++)
    {
    BoundClm=new BoundColumn();
    BoundClm.HeaderText=strArrCloTitles[nDataGrdCols].ToString();/////设置列标题
    BoundClm.DataField=strArrFileds[nDataGrdCols].ToString();///设置列所对应的数据字段
    BoundClm.HeaderStyle.Font.Name="宋体";
    BoundClm.HeaderStyle.Font.Size=9; BoundClm.HeaderStyle.BackColor=System.Drawing.Color.DarkGray;
    BoundClm.HeaderStyle.ForeColor=System.Drawing.Color.Blue;
    BoundClm.HeaderStyle.BorderWidth=3;
    BoundClm.HeaderStyle.Height=14;

    gDataGrd.Columns.Add(BoundClm);

    }
    }
    String strSqlDs="select * from "+strTableName;
    if(strFiltCon.Length>0)
    strSqlDs=strSqlDs+strFiltCon;

    if(gDs.Tables.Count>0)
    gDs.Tables.Clear();
    gDataAdapter=new SqlDataAdapter(strSqlDs,gConnection);

    //////////////////
    gConnection=new SqlConnection(ConfigurationSettings.AppSettings["strConn"].ToString());
    gCommand=new SqlCommand(strSqlDs,gConnection);
    gDataAdapter.Fill(gDs,strTableName); gDataGrd.DataSource=gDs;
    gDataGrd.DataMember=strTableName;
    gDataGrd.DataKeyField=strKeyFieldNam;
    gDataGrd.DataBind(); }///end
      

  2.   

    使用模版列
    动态创建DataGrid的模版列  
    http://www.csdn.net/Develop/Read_Article.asp?Id=22942
      

  3.   

    我记得是可以在dataGrid里通过属性的可视化设置来完成的。
      

  4.   

    DataGridTableStyle dgTable=new DataGridTableStyle();
    dgTable.MappingName="default";
    dgTable.AllowSorting=false;DataGridTextBoxColumn dgColumn;
    dgColumn=new DataGridTextBoxColumn();
    dgColumn.MappingName="FID";
    dgColumn.HeaderText=lbID.Text; //set column's HeaderText
    dgColumn.Width=100;
    dgTable.GridColumnStyles.Add(dgColumn);dgUser.TableStyles.Clear();
    dgUser.TableStyles.Add(dgTable);
      

  5.   

    还是显示不出来啊!
    private void Form1_Load(object sender, System.EventArgs e)
    {
    DataGridTableStyle dgTable=new DataGridTableStyle();
    dgTable.MappingName="default";
    dgTable.AllowSorting=false; DataGridTextBoxColumn dgColumn;
    dgColumn=new DataGridTextBoxColumn();
    dgColumn.MappingName="FID";
    dgColumn.HeaderText="kk"; //set column's HeaderText
    dgColumn.Width=100;
    dgTable.GridColumnStyles.Add(dgColumn); dataGrid1.TableStyles.Clear();
    dataGrid1.TableStyles.Add(dgTable);
    }
      

  6.   

    dataGrid的DataSource中的表名要跟dgTable.MappingName一致
      

  7.   

    在SQL里不就行了吗??select name as 姓名,sex as 性别 from 表1这样就行了,,也可以用datagrid自己设的。。
      

  8.   

    dataGridTableStyle就可以了,比较简单的