protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {            DataTable dt = new DataTable();
            dt.Columns.Add("admin", typeof(string));
            DataRow dr = dt.NewRow();
            dr[0] = "sddsjhjjh";
            dr[1] = "sdsddsds";
            dt.Rows.Add(dr);
            Response.Write(dt);
        }
    }这样写对吗?提示说   无法找到列 1。    不知道怎么了

解决方案 »

  1.   

    DataRow dr = dt.NewRow(); 这句话只是增加了一行,然后你用dr[0]是给这行数据的第一个子段也就是
    admin付值"sddsjhjjh"。到这里为止都是对的。但是dr[1]是代表第一行的第二个子段,这里是没有这个字段的,所以报错了。你应该,
    DataRow dr1 = dt.NewRow();
    dr1[0] = "sddsjhjjh";
    DataRow dr2 = dt.NewRow();
    dr2[0] = "sdsddsds";
      

  2.   

    你只加了一个column,当然找不到列1(第二列)
      

  3.   

    ---Response.Write(dt); 
    这个是需要一个string类型的参数吧
      

  4.   

    楼主你只有一列,所以只有dr[0]没有dr[1]这个列啊
      

  5.   

    列和行是对应的,你只加了一个列,却要在行中使用两列的数据。当然会出错。
    DataTable dt=new DataTable();         //定义表结构,3个列
            dt.Columns.Add("Id", typeof(System.Int32));
            dt.Columns.Add("Code", typeof(System.String));
            dt.Columns.Add("Name", typeof(System.String));        //添加新行
                 DataRow dr = dt.NewRow();
                dr[0] = "aa"
                dr[1] = "bb"
                dr[2] = "cc"
                dt.Rows.Add(dr);
                  Response.Write(dt.);