您的位置:首页 > 其它

Gridview的RowDataBound事件可以做很多事情

2013-07-28 16:29 507 查看
protected void gvTest_RowDataBound(object sender, GridViewRowEventArgs e)
{
//如果是绑定数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//鼠标经过时,行背景色变
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#E6F5FA'");
//鼠标移出时,行背景色变
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'");
//为gridview行添加双击事件
string url = "http://www.baidu.com";
e.Row.Attributes.Add("ondblclick", "javascript:parent.location.href='"+url+"'");
//为gridview列添加click事件
e.Row.Cells[3].Attributes.Add("onclick", "javascript:parent.location.href='" + url + "'");
}
//如果是绑定数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
//删除前弹出确认框
((LinkButton)e.Row.Cells[6].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[2].Text + "\"吗?')");
}
}
if (e.Row.RowIndex != -1)//自动生成编码列
{
int id = e.Row.RowIndex + 1;
e.Row.Cells[0].Text = id.ToString();
}
if (e.Row.RowIndex != -1)//过长的内容,用...代替
{
string strInfo = e.Row.Cells[2].Text;
e.Row.Cells[2].Text = SubStr(strInfo, 1);
e.Row.Cells[2].ToolTip = strInfo;
}
if (e.Row.RowIndex == 5)//突出显示某信息
{
e.Row.Cells[0].BackColor = System.Drawing.Color.Red;
}
}
public string SubStr(string sString, int nLeng)
{
if (sString.Length <= nLeng)
{
return sString;
}
string sNewStr = sString.Substring(0, nLeng);
sNewStr = sNewStr + "...";
return sNewStr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: