DataGrid 双击事件的实现

 在网上找到过一些对于DataGrid控件的双击事件的方法,有些是需要刷新页面的,有些则太过于复杂,东搞西搞一头雾水.难啦!还是自己动手做啦,根据需求,需将DataGrid双击后将双击的行内的内容提取出来写入对于的TEXTBOX框内,当然前提是不能刷新页面,因为刷新时又跳出开头了.参考了一下网上大虾的公布的东东,自己修改了一下,现公布出来给大家,资源共享啦:)

首先,在DataGrid的ItemDataBound事件里对每个项添加客户端双击事件:

    e.Item.Attributes.Add("ondblclick", "javascript:datagrid1_dbclick('" + e.Item.Cells[1].Text.Trim() + "','"+ e.Item.Cells[2].Text.Trim() +"','"+ e.Item.Cells[3].Text.Trim() +"','"+e.Item.Cells[4].Text.Trim()+"')");

后面的参数为DataGrid行内的各项内容;

如下:

  private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
      e.Item.Cells[5].Attributes.Add("onclick","return confirm('确定删除记录?');");
   if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item )
   {
    e.Item.Attributes.Add("onmouseover", "this.oldcolor=this.style.backgroundColor;this.style.backgroundColor='#FFFF00'");
    e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor=this.oldcolor");
    e.Item.Attributes.Add("ondblclick", "javascript:datagrid1_dbclick('" + e.Item.Cells[1].Text.Trim() + "','"+ e.Item.Cells[2].Text.Trim() +"','"+ e.Item.Cells[3].Text.Trim() +"','"+e.Item.Cells[4].Text.Trim()+"')");
   }
  }

完成以上后,则将DataGrid的双击事件定义了,然后再加上客户端脚本程序段,让双击事件的函数能够用起来:

 function datagrid1_dbclick(PoliceID,PoliceName,PoliceMobie,Memo)

{ window.document.forms[0].tblPoliceID.value=PoliceID;

 window.document.forms[0].Police1.value = PoliceID;

 window.document.forms[0].tblPoliceName.value=PoliceName;

 window.document.forms[0].tblPoliceMobie.value=PoliceMobie;

 if(Memo!=" ")

window.document.forms[0].tblMemo.value=Memo;

else window.document.forms[0].tblMemo.value="";

 }

以上是客户端脚本程序,将DataGrid传过来的参数,分别赋值给界面上的四个TXETBOX对像,这样就不用运行

服务端程序,也就没有刷新页面的烦恼了,呵呵,是不是很简单?希望能给你带来帮助.

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值