我做了个递归,但不知DataRow什么样定义??如下:
string k;
k=k+i;
DataRow k;//错误!!!
如何用变量来定义DataRow??
我想定义n个DataRow有什么好办法??

解决方案 »

  1.   

    DataRow dr = new DataRow()
    或者
    foreach(DataRow dr in DataTable1.Rows)
    {
    //dr 就是你想要的DataRow
    }
      

  2.   

    DataRow dr = new DataRow()楼上的以后不要这样子写了,会显得你很无知的!呵呵!
      

  3.   

    创建一个新的datarowDatarow myrow =mytable.newrow();不晓得你想怎么做?
      

  4.   

    试写两层吧:
    TreeSelCmd.CommandText= "select * from menu where id1="+i+" order by sortid";//递归开始
    TreeDa.SelectCommand=TreeSelCmd;Tb="Tb"+i.ToString();
    TreeDa.Fill(TreeDs,Tb);
    Table=TreeDs.Tables[Tb];
    foreach(DataRow a in Table.Rows)//先定义了个a
    {
     Response.Write(a["menuname"]+"\n");
     i=(int)a["id"];
     if (i==489)
     {
      TreeSelCmd.CommandText= "select * from menu where id1="+i+" order by sortid";//递归再开始
      TreeDa.SelectCommand=TreeSelCmd;

      Tb="Tb"+i.ToString();
      TreeDa.Fill(TreeDs,Tb);
      Table= TreeDs.Tables[Tb];
      foreach(DataRow b in Table.Rows)//又要定义个b,但就是想这个定义按递归层数自己增加
      {
        Response.Write(b["menuname"]+"\n");
      }//递归再结束
    }
    }//递归结束
      

  5.   

    DataRow row = Table1.NewRow();或DataRow row = Table1.Rows[i];
      

  6.   

    还是不行啊~那样定义和我的定义不就一样嘛.都是不能自动定义DataRow的.
      

  7.   

    你想要怎么定义,没有特定的datatable的话,无法设定datarow因为无法设定datarow有多少列!
      

  8.   

    对啊,你要定义DataRow必须在特定的DataTable里,而且创建的DataRow还是属于这个DataTable的,你实在想要一个动态行来存储东西,就用string[]好了,然后可以用DataTable的一个方法,将数组作为行来添加,这个方法记不清啦,你在.NET下定义一个DataTable,很方便找到这个方法的。