本文主要是介绍devexpress控件中的gridControl设置某个单元格属性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前提:有一列RepositoryItemCheckEdit复选框列,和一列RepositoryItemButtonEdit按钮列,特定条件下这行的复选框和按钮不可用。效果图如下:
原理是在代码中声明新的对象,给新的对象赋属性值,再用新的对象替换原有的对象。
代码如下:
RepositoryItemCheckEdit _disItemCheck;//声明用来替换‘选择’列复选框的对象
RepositoryItemButtonEdit _disItemBtn;//声明用来替换‘申领’列按钮的对象
//此时间会逐行逐列遍历单元格
private void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
{
//若当前进行到了“选择”列,
if (e.Column.Name == "colCheck")
{
//将单元格中的对象赋值给新声明的复选框对象
_disItemCheck = (RepositoryItemCheckEdit)e.RepositoryItem.Clone();
//设置只读属性
_disItemCheck.Enabled = false;
_disItemCheck.ReadOnly = true;
}
if (e.Column.Name == "colAPPLY")
{
_disItemBtn = (RepositoryItemButtonEdit)e.RepositoryItem.Clone();
_disItemBtn.Buttons[0].Enabled = false;
}
//如果当前行满足条件则替换
if (lst[e.RowHandle].CHARGE == "已" && (lst[e.RowHandle].R == string.Empty || lst[e.RowHandle].R == null))
{
if (e.Column.Name == "colCheck")
{
e.RepositoryItem = _disItemCheck;
}
else if(e.Column.Name == "colAPPLY")
{
e.RepositoryItem = _disItemBtn;
}
}
}
这篇关于devexpress控件中的gridControl设置某个单元格属性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!