2017-02-13 65 views
0

当gridview直接绑定到数据源并且列没有静态定义时,我有一个gridview显示列数为0。我无法想出这个问题。为什么gridview中的列数是0当列从数据表动态绑定

我想这下面的代码:

foreach (GridViewRow row in gv_services.Rows) 
{ 
    if (row.RowType == DataControlRowType.DataRow) 
    { 
     for (int i = 0; i < gv_services.Columns.Count; i++) 
     { 
      if (row.Cells[i].Controls[0].GetType() == typeof(CheckBox)) 
      { 
       CheckBox checkBox = row.Cells[i].Controls[0] as CheckBox; 

       checkBox.Enabled = true; 
       // checkBox.CheckedChanged += new EventHandler(chck_CheckedChanged); 
      }  
     } 
    }  
} 
+0

随着'autogeneratedcolumns == true'列数总是0.它是通过设计。但是你甚至没有使用'GridView.Columns'属性,所以不清楚实际问题是什么。 –

+0

实际上代替了cells.count我已经使用columns.count..anybody知道我们该如何解决这个问题? –

+0

上面的代码不能正常工作。在实际代码中,尽管使用了cells.count,但我仍然使用columns.count –

回答

0

如果我理解正确,您是通过gridview的行试图循环,使复选框,根据您的情况

试试这个代码

foreach (GridViewRow row in yourgridview.Rows) 
     { 
      CheckBox myChk = row.FindControl("myControlName") as CheckBox; 
      if (myChk != null) 
      { 
       myChk.Enabled = true; 
      } 
     }