1. 定义 GridView 的 ShowingEditor 事件:(提示:如果代码不讲究,可以定义在 Load 里面)
this.GridView.ShowingEditor += new System.ComponentModel.CancelEventHandler(this.GridView_ShowingEditor);
2.生成方法:
private void _GridView_ShowingEditor(object sender, CancelEventArgs e)
{
//获取当前视图
GridView view = sender as GridView;
//获取当前行数据
var curRow = ((DataRowView)_DetailbindingSource.Current).Row as DetailDataSet.DetailRow;
//如果点击优惠券号码 且 支付方式为空 或者 支付方式不为代金券 就不允许编辑
if (view.FocusedColumn.FieldName == "CouponNumber" && (curRow.IsPayTypeCodeNull() || curRow.PayTypeCode != PayTypeCode.Coupon.ToString()))
{
e.Cancel = true; //取消编辑
}
}
总结:就在 _GridView_ShowingEditor 方法里面 主要的就三句代码:
第一句:GridView view = sender as GridView;
第二句:if(view.FocusedColumn.FieldName == "CouponNumber") //当前视图焦点所在列的 FieldName
第三句:e.Cancel = true; //取消编辑
里面写什么内容,根据自己情况来定。