2017-02-13 9 views
0

У меня есть gridview, который показывает количество столбцов 0, когда gridview напрямую привязан к источнику данных, а столбцы не определены статически. Я не могу решить эту проблему.Почему число столбцов в gridview равно 0, когда столбцы привязываются динамически от datatable

Я попробовал этот код ниже:

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' column-count всегда 0. Это по дизайну. Но вы даже не использовали свойство «GridView.Columns», поэтому неясно, какова фактическая проблема. –

+0

на самом деле вместо cell.count Я использовал columns.count..анни знают, как мы можем решить это ???? –

+0

выше код не работает, как well.in фактического кода, в дополнение к 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; 
      } 
     }