【发布时间】:2012-12-24 06:56:34
【问题描述】:
我已经使用 linq/LinqInstantFeedbackSource 填充了数据的 devexpress XtraGrid。 XtraGrid 有一个 checkEdit 存储库与表中名为 Status 的列绑定。状态列中的数据元素是位(0 或 1)。但是,由于某些未知原因,无法选择 checkEdit - 即我无法选中/取消选中它。可能的原因是什么??
【问题讨论】:
标签: devexpress xtragrid
我已经使用 linq/LinqInstantFeedbackSource 填充了数据的 devexpress XtraGrid。 XtraGrid 有一个 checkEdit 存储库与表中名为 Status 的列绑定。状态列中的数据元素是位(0 或 1)。但是,由于某些未知原因,无法选择 checkEdit - 即我无法选中/取消选中它。可能的原因是什么??
【问题讨论】:
标签: devexpress xtragrid
原因是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; }
}
【讨论】: