Gridview实现行单击和双击事件
2009-05-05 09:49
423 查看
protected override void Render(HtmlTextWriter writer)
{
foreach (GridViewRow row in GridView1.Rows)
{
row.Attributes.Add("BorderColor ", "#d2d2d2");
if (row.RowType == DataControlRowType.DataRow)
{
string selectId = GridView1.DataKeys[row.RowIndex].Value.ToString();
if (!string.IsNullOrEmpty(selectId) && selectId != "0")
{
// e.Row.Attributes["onclick"] = String.Format(" javascript:setTimeout(\"javascript:document.getElementById('{0}').click()\",400*1 ),event,cancelBubble=true ", btnHiddenPostButton.ClientID);
row.Attributes["onclick"] = String.Format("javascript:setTimeout(\"if(dbl_click){{dbl_click=false;}}else{{{0}}};\", 1000*0.3);", PageHander.ClientScript.GetPostBackEventReference(GridView1, "Select$"
+ row.RowIndex.ToString(), true));
// 双击,设置 dbl_click=true,以取消单击响应
row.Attributes["ondblclick"] = String.Format("javascript:dbl_click=true;window.location.href='" + URL + "?id={0}';", selectId);
//row.Attributes["ondblclick"] = String.Format("javascript:dbl_click=true;window.open('DummyProductDetail.aspx?productid={0}');", GridView1.DataKeys[row.RowIndex].Value.ToString());
row.Attributes.Add("onmouseover", "this.classname=onColor2(this)");
row.Attributes.Add("onmouseout", "this.classname=offColor2(this," + SelectedRow.ToString() + ")");
row.Attributes["style"] = "cursor:'pointer'";
row.Attributes["title"] = "单击选择行,双击进入编辑页面";
row.Attributes.Add("onmousedown", "this.classname=downColor(this," + selectId + ")");
row.Attributes["onKeyDown"]= String.Format( "if(event.keyCode==13)javascript:window.location.href='" + URL + "?id={0}';", selectId);
}
}
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
int SelectRow = GridView1.SelectedRow.RowIndex;
SelectedRow = SelectRow;
string SelectId = GridView1.DataKeys[SelectRow].Value.ToString();
int pageSize = GridView1.AllowPaging == true ? GridView1.PageSize : 20;
foreach (GridViewRow row in GridView1.Rows)
{
row.BackColor = System.Drawing.Color.White;
row.Font.Bold = false;
row.ForeColor = System.Drawing.Color.Black;
}
GridView1.Rows[SelectRow].BackColor = System.Drawing.Color.FromArgb((System.Byte)(255), (System.Byte)(222), (System.Byte)(59));
GridView1.Rows[SelectRow].Font.Bold = true;
GridView1.Rows[SelectRow].ForeColor = System.Drawing.Color.Blue;
}
{
foreach (GridViewRow row in GridView1.Rows)
{
row.Attributes.Add("BorderColor ", "#d2d2d2");
if (row.RowType == DataControlRowType.DataRow)
{
string selectId = GridView1.DataKeys[row.RowIndex].Value.ToString();
if (!string.IsNullOrEmpty(selectId) && selectId != "0")
{
// e.Row.Attributes["onclick"] = String.Format(" javascript:setTimeout(\"javascript:document.getElementById('{0}').click()\",400*1 ),event,cancelBubble=true ", btnHiddenPostButton.ClientID);
row.Attributes["onclick"] = String.Format("javascript:setTimeout(\"if(dbl_click){{dbl_click=false;}}else{{{0}}};\", 1000*0.3);", PageHander.ClientScript.GetPostBackEventReference(GridView1, "Select$"
+ row.RowIndex.ToString(), true));
// 双击,设置 dbl_click=true,以取消单击响应
row.Attributes["ondblclick"] = String.Format("javascript:dbl_click=true;window.location.href='" + URL + "?id={0}';", selectId);
//row.Attributes["ondblclick"] = String.Format("javascript:dbl_click=true;window.open('DummyProductDetail.aspx?productid={0}');", GridView1.DataKeys[row.RowIndex].Value.ToString());
row.Attributes.Add("onmouseover", "this.classname=onColor2(this)");
row.Attributes.Add("onmouseout", "this.classname=offColor2(this," + SelectedRow.ToString() + ")");
row.Attributes["style"] = "cursor:'pointer'";
row.Attributes["title"] = "单击选择行,双击进入编辑页面";
row.Attributes.Add("onmousedown", "this.classname=downColor(this," + selectId + ")");
row.Attributes["onKeyDown"]= String.Format( "if(event.keyCode==13)javascript:window.location.href='" + URL + "?id={0}';", selectId);
}
}
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
int SelectRow = GridView1.SelectedRow.RowIndex;
SelectedRow = SelectRow;
string SelectId = GridView1.DataKeys[SelectRow].Value.ToString();
int pageSize = GridView1.AllowPaging == true ? GridView1.PageSize : 20;
foreach (GridViewRow row in GridView1.Rows)
{
row.BackColor = System.Drawing.Color.White;
row.Font.Bold = false;
row.ForeColor = System.Drawing.Color.Black;
}
GridView1.Rows[SelectRow].BackColor = System.Drawing.Color.FromArgb((System.Byte)(255), (System.Byte)(222), (System.Byte)(59));
GridView1.Rows[SelectRow].Font.Bold = true;
GridView1.Rows[SelectRow].ForeColor = System.Drawing.Color.Blue;
}
相关文章推荐
- GridView/DataGrid行单击和双击事件实现代码(转)
- Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载)
- Android通过onTouch事件实现单击,双击,长按
- 采用Jquery,在table上实现对行的单击、双击、返回选中行数据的功能,可作为GridView控制客户端的扩展
- 实现响应双击消息时不执行单击事件
- qt 实现、区分鼠标单击,双击事件
- GridView控件(六)—数据行响应鼠标的单击和双击事件
- MVC中使用Echart后台加载数据 实现饼图、折线图、全国地图数据,单击双击事件等
- 【BCB 原创】深入 分析 C++Builder 6 的鼠标 单击 双击 事件 关键词: 单击 双击 实现机制
- [IOS]实现IOS单击或者双击事件
- ASP.NET DEMO 15: 同时支持行单击和双击事件的 GridView/DataGrid
- [IOS]实现IOS单击或者双击事件
- Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载)
- ASP.NET DEMO15_1: GridView 行单击与双击事件2
- Dev的Gridview控件,实现 每一行行的双击的事件
- GridView 行单击或双击事件绑定
- Qt中鼠标的双击事件和单击事件的实现方式
- Android 自定义View实现单击和双击事件
- ASPxGridView1单击,双击事件
- Android中用手势的双击事件实现图片单击放大效果