2013-07-05 22 views
0

我試圖根據該行中的值禁用RadGridView行? 我已經嘗試了RowLoaded事件中的下面的代碼,但它似乎禁用了所有行。基於單元值禁用行

var isEnrolled = (from c in masterList 
             where c.StudentId == StudentID 
             where c.Rolls[0].RollId == item.RollId.ToString() 
             select c.IsEnrolled).FirstOrDefault(); 

      if (isEnrolled) 
       e.Row.IsEnabled = false; 

它可以在同一個事件中完成,所以如果一行包含單詞「確認」,行被禁用?

foreach(DataGridRow item in RollListGrid.Items) 
     { 
     //Disable row if it contains "Confirmed" 
     } 

還有一個,如果查詢返回true,我該如何檢查一行中的複選框?

var isProspectiveStudent = (from c in masterList 
             where c.StudentId == StudentID 
             where c.Rolls[0].RollId == item.RollId.ToString() 
             select c.IsProspectiveStudent).FirstOrDefault(); 

      if (isProspectiveStudent){ 
       //Check the relevant checkbox 
      } 

謝謝!!

回答

1

我設法用下面的代碼實現我想要的。

foreach (var x in e.Row.Cells) 
     { 

      if (((GridViewCell)x).Value != null && ((GridViewCell)x).Value.ToString() == "Confirmed" && x.Column.UniqueName.IndexOf("5") != -1) 
      { 
       e.Row.IsEnabled = false; 
       break; 
      } 
     }