根据单元格值禁用行

时间:2013-07-05 03:57:40

标签: wpf silverlight-4.0 radgrid

我试图根据该行中的值禁用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 个答案:

答案 0 :(得分: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;
            }
        }