1

我已经使用 linq/LinqInstantFeedbackSource 填充了数据的 devexpress XtraGrid。XtraGrid 有一个 checkEdit 存储库与表中名为 Status 的列绑定。状态列中的数据元素是位(0 或 1)。但是,由于某些未知原因,无法选择 checkEdit - 即我无法选中/取消选中它。可能的原因是什么?

4

1 回答 1

1

原因是LinqInstantFeedbackSource是只读数据源。

更新:
据我所知,您使用的是匿名类型作为结果。匿名类型的对象只有只读属性。修改它们是不可能的。这就是 XtraGrid 中没有编辑的原因。如果您需要获取可编辑对象的集合,请不要使用匿名类型。
您可以使用此代码,例如:

var tcs=
    from tc in dc.TC 
    join dpt in dc.Departments on tc.DeptID equals dpt.DeptID 
    where tc.isReturned.Equals(0) 
    select new EditableObject { 
        MRN=tc.MRN, 
        DeptName=dpt.deptName + " - " + dpt.roomNo,
        IsReturned= tc.isReturned
    }; 

哪里EditableObject是:

public class EditableObject{
    public string MRN { get; set; }
    public string DeptName { get; set; }
    public bool IsReturned { get; set; }
}
于 2012-12-24T07:12:39.117 回答