怎么样获得DataRow中 每一行的索引号,小妹在线等!!!先谢了!

解决方案 »

  1.   

    DataRow本身就是一行,你这里的索引号是在DataTable中的索引吗?可在DataTable中必须知道索引号才能访问某一个DataRow
    你最好详细说一下你的情况
      

  2.   

    是因为我在DataTable的行集合中,需要点击下一条,或上一条进行选择行记录,
    我想通过foreach(DataRow dr in ds.Tables[0].Rows){ 
       }
    语句找到所选定行的索引号i,再i+1去找下一行
    可是不知道怎么取到DataRow中某一行的索引号 i
      

  3.   

    可以这样吗?ds.Tables[0].Rows[i],他的下一行为ds.Tables[0].Rows[i+1],他的上一行为ds.Tables[0].Rows[i-1]
      

  4.   

    senkiner(金龍) :
       我也是想这样啊,可以不知道Row[i]中的i怎么样得到它?
       因为我首先要根据条件找到某一行如ds.Tables[0].Select("ZINV_CD=1"),再来取得这行的i
       能明白我的意思吗?
      

  5.   

    你要想要这个效果的,就没必要知道他的index了,datarow对象有个find方法可以帮你找到这一行的
      

  6.   

    就是可以通过find方法找到这一行,关键是如何可以获取这一行的索引值啊
      

  7.   

    这个偶倒看过
    你首先打开第一条数据的时候就要设置一个变量比如
    currentRow as integer =0可以用viewstat来保存也可以用session来保存. 以后读取下一条的时候就是加一 
    ds.Tables[0].Rows[变量+1]忘记了
    你去看下网上的dataset的属性吧
    这个不常用
      

  8.   

    可以另外用一个Session或ViewState变量来保存当前选择记录的索引
      

  9.   

    我想的一种本办法:
    是否可以生成一个副本,并加入自动增长的一列,选择一项后,可以根据加入的辅助列来取得上一列和下一列,就像下面这样:
    DataTable dtcopy = dt.Clone();dtcopy.Columns.Add("C");//添加辅助列名字为“C”dtcopy.Columns["C"].AutoIncrement = true;
    dtcopy.Columns["C"].Unique = true;
    dtcopy.Columns["C"].AutoIncrementSeed = 0;
    dtcopy.Columns["C"].AutoIncrementStep = 1;foreach(DataRow dr in dt.Rows)
    dtcopy.ImportRow(dr);在用的时候可以用Select获取上一列或者下一列