我现在有一个datagridview,里面的记录是从dataset填充近来的。但是每次在datagridview中查询出来的列数目都不一样,有时5列有时8列或更多。我现在想判断每行各列下的内容是否都等于0。但这个列无法确定,应该怎么实现?光写到到以下这里:for(int i=0;i<ds.table["t1"].defaultview.count;i++)
{
  if(datagridview[列,i].value.tostring()=="0"&&datagridview[列+1,i].value.tostring()=="0"&&datagridview[最后一列,i].value.tostring()=="0"
   {   }
}现在就在上面这个‘列’这块卡住了,因为列都是动态的,所以这个数目我应该怎么填写呢!

解决方案 »

  1.   


        dgv["colname",i]].value;
      

  2.   

    更正:多了个]
    [code=C#]    
      dgv["colname",i].value;
    /code]
      

  3.   

    for(int i=0;i <ds.table["t1"].defaultview.count;i++) 
    {
    for (int j=0;j<datagridview.ColumnCount;j++) 
      if(datagridview[l,i].value.tostring()=="0") 
      {   } 
    }

      

  4.   

    你这代码本身有问题for(int i=0;i <ds.table["t1"].defaultview.count;i++) //如果当i为最后一列时,下面的“列+i”不就超过范围了,肯定会报错啊

      if(datagridview[列,i].value.tostring()=="0"&&datagridview[列+1,i].value.tostring()=="0"&&datagridview[最后一列,i].value.tostring()=="0" 
      {   } 
    } 应该改为for(int i=0;i <ds.table["t1"].defaultview.count-1;i++)  

      if(datagridview[列,i].value.tostring()=="0"&&datagridview[列+1,i].value.tostring()=="0"&&datagridview[最后一列,i].value.tostring()=="0" 
      {   }