如何在winForm中,禁止DataGrid的某一行不能编辑,除了设这行的ReadOnly=true。
解决方案 »
- 正则表达式匹配1个字符串的问题
- C#保存到数据库
- 动态sql,exec('update ') 传参的问题
- 在PictureBox上加控件
- the type ‘XmlDataBase' already contains a defintion for 'EncryptFile',类错误,请各位帮忙了
- 文件路径的问题
- 如何实现:跳转之前 弹出对话框, 确定之后 跳转到指定页面
- 关于构造函数的问题……快来帮忙……死人了……
- 趣味小算法,彩票生成。高分相送。。。
- 如何才能使aspx页面中的字体,不随ie的查看中的字体大小设置而变化???
- 100分请教重写datagridview
- DataGridView动态添加行
1.注冊事件
this.myDataSet.Tables[this.myDataMember].ColumnChanging+=new DataColumnChangeEventHandler(this.DataColumn_ColumnChanging);
2.處理事件
private void DataColumn_ColumnChanging(object sender,System.Data.DataColumnChangeEventArgs e)
{
#region 輸入資料檢測
try
{
if(this.dataCenter1.EditModel && ("emp_code,bank_code").ToLower().IndexOf(e.Column.ColumnName.ToLower())>=0)
{
if(e.Row[e.Column.ColumnName,(e.Row.RowState==DataRowState.Detached?DataRowVersion.Proposed:(e.Row.RowState==DataRowState.Added?DataRowVersion.Default:DataRowVersion.Original))]!=e.ProposedValue)
{
//是否恢複表格的值
bool ifRestore=false;
switch(e.Column.ColumnName.ToLower())
{
case "emp_code":
//
break;
case "bank_code":
//
break;
}
if(ifRestore)
{
if(e.Row.RowState==DataRowState.Detached)
e.ProposedValue=e.Row[e.Column.ColumnName,DataRowVersion.Proposed];
else if(e.Row.RowState==DataRowState.Added)
e.ProposedValue=e.Row[e.Column.ColumnName];
else
e.ProposedValue=e.Row[e.Column.ColumnName,DataRowVersion.Original];
}
}
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
#endregion
}
如果我给某列加上事件响应,这也叫编辑啊。