protected void Page_Load(object sender, EventArgs e)
    {
        DataSet dt = SqlHelper.getDataSet("select top 10 id,alerttype,accounts from AccountAlert");
        dt.Tables[0].Columns.Add("myClumn", typeof(string), "stra");
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
不行。把dt.Tables[0].Columns.Add("myClumn", typeof(string), "stra");
改为dt.Tables[0].Columns.Add("myClumn", typeof(string), "2");
可以为什么,我要加一个值为“stra”列名为“myClumn”的常数列

解决方案 »

  1.   

    DataSet dt = SqlHelper.getDataSet("select top 10 id,alerttype,accounts from AccountAlert");
    DataColumn newDataColumn = new DataColumn ("myClumn",typeof(string));
    newDataColumn.AllowDBNull = false;
    newDataColumn.DefaultValue = "stra";
    dt.Tables[0].Columns.Add( newDataColumn );
    GridView1.DataSource = dt.Tables[0];
    GridView1.DataBind();
      

  2.   

    public void bind()
        {
            DataSet ds = new DataSet();
            // strConnection = ConfigurationSettings.AppSettings["sa"].ToString();
            SqlConnection myConnection = new SqlConnection("server=.;database=Northwind;uid=sa;pwd=");
            SqlDataAdapter myAdapter = new SqlDataAdapter("SELECT CategoryName, Description FROM Categories", myConnection);
            // 为了分页方便ds是一个全局的变量
            myAdapter.Fill(ds);
            this.grdTest.DataSource = this.GetRowNumberTable(ds.Tables[0]).DefaultView;
            this.grdTest.DataSource = ds.Tables[0].DefaultView;
            this.grdTest.DataBind();
        }
        private DataTable GetRowNumberTable(DataTable dt)
        {
            DataColumn col = new DataColumn("RowNumber", Type.GetType("System.Int32"));
            dt.Columns.Add(col);
            for (int i = 0; i <= dt.Rows.Count - 1; i++)
            {
                if (0 == i)
                    dt.Rows[i][col] = 1;
                else
                    dt.Rows[i][col] = Convert.ToInt32(dt.Rows[i - 1][col]) + 1;
            }
            return dt;
        }