请问如何用查询出来的数据动态生成 gridview的列名
例如 select A from T1 结果为  a b c
那么gridview 显示的表头就为 a b c
  

解决方案 »

  1.   


    if (e.Row.RowType == DataControlRowType.Header)
    {
    GridViewRow rowHeader = new GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal);
    rowHeader.BackColor = System.Drawing.Color.LightBlue;
    rowHeader.Font.Bold = true;
    TableCellCollection cells = e.Row.Cells;
    TableCell headerCell = new TableCell();
    headerCell = new TableCell();
    headerCell.Text = "表头";
    headerCell.ColumnSpan = 3;
    headerCell.HorizontalAlign = HorizontalAlign.Center;
    rowHeader.Cells.Add(headerCell);GridView1.Controls[0].Controls.AddAt(0, rowHeader1);
    }
      

  2.   

    protected void GridView1_DataBinding(object sender, EventArgs e)
        {
            if (!GridView1.Columns.Count<=1)
            {
                foreach(DataColumn c in dt.Columns)
                {
                    DataControlField df= new AutoGeneratedField(c.ColumnName)  
                    df.HeaderText = c.ColumnName,
                    df.DataField = c.ColumnName
                    GridView1.Columns.Insert(0, df);
                }
            }
        }