在datagrid里如何达到鼠标选中行即可编辑而不需要另外点击“编辑”??

acai 2003-11-03 10:59:33
在datagrid里如何达到鼠标选中行即可编辑而不需要另外点击“编辑”??就是能否达到象winform里的datagrid的效果,直接可以进行编辑,不需要再加个“编辑”按纽??我在infragistics这套asp.net控件里看到可以如此,不知道该如何实现??望各位指点!!多谢!!
...全文
147 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
acai 2003-11-04
  • 打赏
  • 举报
回复
谢谢楼上各位,100给定了。
但是如何保存啊?选另外一行,原来做的修改就没有了,我试了半天也无法保存,能否选另外一行后,刚才修改的那行马上保存??还是在点中即修改的情况下,解决了再令开100分的帖子送给各位!!多谢了!!
acewang 2003-11-04
  • 打赏
  • 举报
回复
昨天刚写的没有问题
private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item)
{
LinkButton button=(LinkButton)e.Item.Cells[0].Controls[0];
e.Item.Attributes["onclick"]=Page.GetPostBackClientHyperlink(button,"");
}
}
guoyan19811021 2003-11-04
  • 打赏
  • 举报
回复
换成双击:
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
e.Item.Attributes.Add("ondblclick", Page.GetPostBackClientHyperlink(e.Item.Cells(6).Controls(0), ""))
ElseIf e.Item.ItemType = ListItemType.EditItem Then
e.Item.Attributes.Add("ondblclick", Page.GetPostBackClientHyperlink(e.Item.Cells(6).Controls(3), ""))
End If
KK4 2003-11-04
  • 打赏
  • 举报
回复
我这样做过了,不行,点中后可以出来编辑框,但是马上失去焦点,结果永远无法获得焦点,没法输入。
acai 2003-11-04
  • 打赏
  • 举报
回复
换了个解决方法,散分,谢谢各位!!
gOODiDEA 2003-11-04
  • 打赏
  • 举报
回复
参考:

private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
e.Item.Attributes.Add("onclick", "javascript:__doPostBack('" + "ListDataGrid$_" + "ctl" + ( e.Item.ItemIndex + 3 ) + "$_ctl0','')");
}
haoliqi 2003-11-04
  • 打赏
  • 举报
回复
保存写到"mouseout"
redlion963 2003-11-04
  • 打赏
  • 举报
回复
呵呵 :)
redlion963 2003-11-04
  • 打赏
  • 举报
回复
楼主记得给我分多点,虽然这个帖子有CSDN老大参加

快结帖
redlion963 2003-11-04
  • 打赏
  • 举报
回复
我的这个一定可以

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) {
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
// e.Item.Attributes["OnMouseOut"]=
// "javascript:bgColor='"+ "Red" +"';";
e.Item.Attributes["OnMouseOver"]=
"javascript:bgColor='"+ "#F6F6F6" + "';";
e.Item.Attributes["OnMouseOut"]=
"javascript:bgColor='"+ "White" + "';";
e.Item.Attributes.Add("OnDblClick",Page.GetPostBackClientHyperlink((System.Web.UI.WebControls.LinkButton
)e.Item.Cells[0].Controls[0],"")) ;
// e.Item.Attributes["onclick"]=
// "javascript:alert('hello zhengjun')";
}
}


有些乱,自己慢慢看吧

注意: 要把代码放到 DataGrid 的ItemDataBound 事件里
另外代码里连接的是DataGrid的“编辑”按钮
“编辑”按钮在DataGrid的第一列


acai 2003-11-03
  • 打赏
  • 举报
回复
我这样做过了,不行,点中后可以出来编辑框,但是马上失去焦点,结果永远无法获得焦点,没法输入。
孟子E章 2003-11-03
  • 打赏
  • 举报
回复
把选中事件里写编辑的点击事件

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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