zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    ubuntu重复登录问题
    CUDA相关问题
    pytorch安装(使用pip3装到conda环境下)
    ubuntu16.04 anaconda的安装和卸载
    vscode插件安装失败的解决方案
    使用ffmpeg进行视频截图
    Spring加载早期获取BasePackage
    chrome最耐看的主题
    针对MySQL的MVCC多版本并发控制的一些总结
    docker创建mysql容器,并挂载数据+配置
  • 原文地址:https://www.cnblogs.com/MatrixBlogs/p/3137321.html
Copyright © 2011-2022 走看看