您的位置:首页 > 编程语言 > C#

C#开发学习笔记:GridView中如何设置满足条件的行不可编辑(XtraGrid)

2016-09-22 12:55 567 查看
设置满足条件的行不可编辑需要使用到gridView的ShowingEditor事件,该事件允许取消激活编辑

private static void gridView_ShowingEditor(object sender, CancelEventArgs e)
{
DataRow dr = gridview_temp.GetDataRow(gridview_temp.FocusedRowHandle);//获取当前gridView的焦点行
if (dr != null )//控件数据行要满足的条件
e.Cancel = true;//该行不可编辑
}




当在XtraGrid中使用Grid---->EmbeddedNavigator---->Buttons---->Append新增时,需要设置只有新增行允许编辑,已存在的数据行不允许编辑

1.获取到当前点击的是哪一个分页按钮,需要使用事件GridControl_EmbeddedNavigator_ButtonClick

string ButtonHint =" ";
private static void GridControl_EmbeddedNavigator_ButtonClick(object sender, NavigatorButtonClickEventArgs e)
{
ButtonHint = e.Button.Hint;//获取当前点击的NavigatorButton(Hint代表鼠标悬停时的提示信息)
}
</pre><pre>
2.使用gridView的ShowingEditor事件来设置满足条件的行不可编辑
private static void gridView_ShowingEditor(object sender, CancelEventArgs e)
{
GridView gridView = sender as GridView;
DataRow dr = gridView .GetDataRow(gridView .FocusedRowHandle);//获取当前gridView的焦点行
//如果当前点击的NavigatorButton是新增按钮同时当前焦点行的行状态为Unchanged时,设置当前行不可编辑
//如果是新增的数据行,数据行的行状态为Added(也有可能在某种情况下为Detached)
if (dr != null && ButtonHint == "新增" && dr.RowState == DataRowState.Unchanged)
e.Cancel = true;//该行不可编辑
}





附:如何修改分页按钮鼠标悬停时的英文提示为中文提示(修改相应按钮的Hint属性)

 gridcontrol.EmbeddedNavigator.Buttons.Append.Hint = "新增";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息