2017-02-13 3 views
0

gridviewがデータソースに直接バインドされ、列が静的に定義されていない場合、列数0を表示するgridviewがあります。私はこの問題を思い付くことができません。なぜ列がデータテーブルから動的にバインドされるときにグリッドビューの列数が0になるのですか

私はコードの下、この試みた:あなたの条件に基づいて、私が正しく理解場合は、GridViewの行をループしようとするチェックボックスを有効にしている

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'プロパティを使っていないので、実際の問題が何であるかは分かりません。実際にcells.countの代わりに –

+0

私はcolumns.countを使用している..誰も私たちはこれを解決することができますか? –

+0

上記のコードもうまくいきません。実際のコードでは、cells.countのインスピレーションを使用しました。columns.countを使用しました。 –

答えて

0

をして

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