您的位置:首页 > 其它

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: