Devexpress 无法选中/取消选中XtraGrid checkEdit存储库
我已经使用linq/LinqInstantFeedbackSource用数据填充了devexpress XtraGrid。XtraGrid有一个checkEdit存储库绑定,其中有一个表中名为Status的列。状态列中的数据元素为位(0或1)。但是,由于某些未知原因,无法选择选中编辑-即,我无法选中/取消选中它。可能的原因是什么???原因是是是只读数据源 更新:Devexpress 无法选中/取消选中XtraGrid checkEdit存储库,devexpress,xtragrid,Devexpress,Xtragrid,我已经使用linq/LinqInstantFeedbackSource用数据填充了devexpress XtraGrid。XtraGrid有一个checkEdit存储库绑定,其中有一个表中名为Status的列。状态列中的数据元素为位(0或1)。但是,由于某些未知原因,无法选择选中编辑-即,我无法选中/取消选中它。可能的原因是什么???原因是是是只读数据源 更新: 据我所知,您正在使用匿名类型作为结果匿名类型的对象只有只读属性。不可能修改它们。这就是为什么XtraGrid中没有编辑。如果需要获取可
据我所知,您正在使用匿名类型作为结果匿名类型的对象只有只读属性。不可能修改它们。这就是为什么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; }
}
原因是,是只读数据源
更新:据我所知,您正在使用匿名类型作为结果匿名类型的对象只有只读属性。不可能修改它们。这就是为什么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; }
}
我已经改变了,但它仍然不起作用。我只是使用linq和join来提取数据。会有什么影响吗?此外,该列的数据类型为bit@user758961请提供XtraGrid设置的确切代码var tcs=(从dc.tc中的tc加入dc中的dpt。tc.DeptID上的部门等于dpt.DeptID,其中tc.isReturned.equals(0)选择新{tc.MRN,deptName=dpt.deptName+“-”+dpt.roomNo,tc.isReturned});gridTC.DataSource=tcs;我已经改变了,但它仍然不起作用。我只是使用linq和join来提取数据。会有什么影响吗?此外,该列的数据类型为bit@user758961请提供XtraGrid设置的确切代码var tcs=(从dc.tc中的tc加入dc中的dpt。tc.DeptID上的部门等于dpt.DeptID,其中tc.isReturned.equals(0)选择新{tc.MRN,deptName=dpt.deptName+“-”+dpt.roomNo,tc.isReturned});gridTC.DataSource=tcs;