GridView响应用户的功能

在网页中浏览数据库数据都会用到GridView控件。有很多种方法可以令GridView控件具有良好的方便的功能,令用户用起来觉得很方便。一个例子:让GridView其中一个字段的值作为连接到另一个网页的超链接。在这里说明一下它的具体实现是怎样的。

 

要完成以上所说的功能首先要知道两个asp.net提供的函数。它就是GridView_RowDataBound(object sender,GridViewRowEventArgs e)。在调用DataBind将数据绑定到GridView的时候,GridView会触发RowDataBound事件。该事件会调用GridView_RowDataBound(object sender,GridViewRowEventArgs e)来处理数据绑定时候的操作。所以实现超链接的操作可以在这个时候加上去。接下来要介绍另一个函数它就是DataBinder中的Eval函数。Eval函数可以很方便的获取绑定数据源中特定字段里面的值。例如:DataBinder.Eval(e.Row.DataItem, "你想获得值的字段").ToString();

 

好现在真是开始实现功能。首先在前台代码上加上GirdView控件。就像下面所示:

<asp:GridView ID="gvView" ...>

          <Columns>

                <asp:BoundField DataField="..." HeaderText="..."/>

                                            ...

                <ItemTemplate>

                         <asp:LinkButton ID="lnkType" runat="server"/>                  //这是用来做链接的关键

                </ItemTemplate>

          </Columns>

</asp:GridView>

 

然后后台代码使用DataBind函数绑定后注意就是编写RowDataBound的逻辑

protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)

{

        LinkButton objlnkType = null          //这是用于获取前台LinkButton的对象

        string strlnkTypeScript = ""

 

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            objlnkType = (LinkButton)e.Row.FindControl("lnkType");                   //获取前台LinkButton:lnkType

            strlnkTypeScript = string.Format("DisplayTransaction()");                 //定义客户端javascript

            objlnkType.OnClientClick = strlnkTypeScript;                                     //将Javascript赋予到OnClientClick中

         }

}

这样当浏览网页的时候单击GridView里面的LinkButton就会执行定义好的javascript。只要定义还好javascript就可以达到很多功能。例如以上所说的超链接功能。 

只要更加了解e.Row.RowType其实可以做到更多的东西。例如全行响应用户。做法是利用e.Row.Attributes.Add("OnClick", "定义好的javascript")就可以做到全行响应用户调用相对于的javascript。

转载于:https://www.cnblogs.com/MatrixBlogs/archive/2013/06/15/3137321.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值