如何实现WinForm中的DataGrid只能够编辑当前行,其他的行都不能编辑?

好运 2003-08-18 06:55:33
如何实现WinForm中的DataGrid只能够编辑当前行,其他的行都不能编辑?
...全文
43 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
derek 2003-08-26
  • 打赏
  • 举报
回复
這樣;
//定義當row改變時觸發的事件
private BindingManagerBase bm;
bm=this.BindingContext[this.ds,this.ds.Tables["table1"].TableName];
bm.PositionChanged+=new System.EventHandler(this.bm_PositionChanged);

private bm_PositionChanged()
{
//在這裡進行檢測當前行是否是要編輯的
if ((int)this.ds.Tables["table1"].Rows[this.BindingContext[this.ds,"table1"].Position] ["nid"])="222222222"
{this.datagrid1.readonly=true;}
else
{this.datagrid1.readonly=false;}
}
好运 2003-08-25
  • 打赏
  • 举报
回复
to derek() ,怎样判断當光標進入不能編輯度row,用什么事件?
derek 2003-08-25
  • 打赏
  • 举报
回复
當光標進入不能編輯度rows時, 設datagrid.readonly=true;
光標進入能編輯度rows時, 設datagrid.readonly=false;
好运 2003-08-25
  • 打赏
  • 举报
回复
好运 2003-08-20
  • 打赏
  • 举报
回复
WinForm中的DataGrid没有ItemTemplete和EditTemplete,EditItemIndex,如何实现WinForm中的DataGrid只能够编辑当前行,其他的行都不能编辑?在行改变后,所有的行又都不能编辑了
好运 2003-08-19
  • 打赏
  • 举报
回复
up
hubanxian 2003-08-19
  • 打赏
  • 举报
回复
DataGrid中有几个模板
最长用的是ItemTemplete和EditTemplete,
DataGrid.EditItemIndex = -1时显示方式位ItemTemplete即正常的显示模式,
DataGrid.EditItemIndex = N 时则第N行的显示方式位EditITemplete即编辑模式。
好运 2003-08-19
  • 打赏
  • 举报
回复
如何实现WinForm中的DataGrid只能够编辑当前行,其他的行都不能编辑?在行改变后,所有的行又都不能编辑了
好运 2003-08-18
  • 打赏
  • 举报
回复
to snof(雪狼),你给我的例子不是我要的效果,你给我的例子是datetime类型,指定了列,根据列的值 DateTime.Parse(s);如果成功,焦点还是可以离开该行的,我要的效果是不管什么条件,当焦点在该行时,只能是该行的都可以编辑,当焦点离开该行时,所有行包括该行也不可编辑了
雪狼1234567 2003-08-18
  • 打赏
  • 举报
回复
在焦点离开的时候作限制,看下面的例子:
http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q974q

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧