现在的位置: 首页 > 综合 > 正文

DataGrid中添加单击或者双击事件

2017年12月18日 ⁄ 综合 ⁄ 共 1732字 ⁄ 字号 评论关闭
在网上找到过一些对于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对像,这样就不用运行

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

 

抱歉!评论已关闭.