如何在winForm中,禁止DataGrid的某一行不能编辑,除了设这行的ReadOnly=true。
解决方案 »
- c# 多线程的问题
- net Compact Framework 设置DataGrid 行背景色
- 为什么吧AutoPostBack设置为true 时有错误
- 从Excel导入到数据库的问题
- 请教个关于OdbcConnection连接怎么写相对路径的问题
- C#绘图问题
- ◥◣◥◣紧急求助◢◤◢◤: 对程序集“TeeChart”进行强名称验证失败。。
- vs2008 智能设备程序怎么连接服务器失败!
- 兄弟们,我有个问题,关于CGI的返回值的问题
- 刚装上了CS2.1并升级到了ASP.NET2.0, 出现一个"正在中止线程"的错误???
- 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
}
如果我给某列加上事件响应,这也叫编辑啊。