GridView的RowDataBound事件可做的一些事情

本文详细介绍了如何在ASP.NET中使用GridView控件进行数据绑定,并实现鼠标悬停、双击事件、列点击事件和自定义操作列的事件处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
}

<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound"
        EnableModelValidation="True">
        <Columns>
            <asp:BoundField DataField="id" HeaderText="编号" />
            <asp:BoundField DataField="name" HeaderText="姓名" />
            <asp:BoundField DataField="id" HeaderText="编号" />
            <asp:BoundField DataField="name" HeaderText="姓名" />
            <asp:BoundField DataField="id" HeaderText="编号" />
            <asp:BoundField DataField="name" HeaderText="姓名" />
            <asp:BoundField DataField="id" HeaderText="编号" />
            <asp:BoundField DataField="name" HeaderText="姓名" />
            <asp:BoundField DataField="id" HeaderText="编号" />
            <asp:ButtonField Text="按钮" HeaderText="编号" DataTextField="id" />
        </Columns>
</asp:GridView>

http://www.cnblogs.com/waynewjp/archive/2009/09/06/1561425.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值