foreach (DataRow dr in ds.Tables["MobileModel"].Rows)
                this.cbomobiletype.Items.Add(dr[0]);不明白为什么第二行的dr后面还要加上“[0]”呢? 

解决方案 »

  1.   

    当前的第一列我知道,只是觉得没必要加啊(循环虽然程序需要,我试过只有加【0】才能出现我想要的结果),因为dr是遍历ds的每一行的,每一次循环ds的row都会重新把数据赋值给dr的啊   不需要再为dr指定下标了吧
      

  2.   

    dr是个数组的形式,哪怕里面有且仅有一个元素,也要用dr[0].dr表示某列,dr[0]表示列里的数据.
      

  3.   

    一个DataRow有多个列,你不加索引的话谁知道你要哪列呢
      

  4.   

    foreach (DataRow dr in ...dr是遍历时的行在遍历的每次循环中,dr只表示当前行。dr[0]表示当前行的第一列 dr[1]表示当前行的第二列就是这个意思 明白了不?
      

  5.   

    忘了说明一点ds中数据一行只有一列   这也就是我一直疑惑de后面为什么加【0】的原因,刚才想到dr是一个集合非变量,呵呵
      

  6.   

    就算只有1列也要加[0],因为不加的话dr是一个DataRow对象,只有加了索引才可以取得该行该列的值
      

  7.   

    dr[0]表示当前dr的第一列,dr 有很多列