• ASP.NET 2.0 – 如何巢状化GridView控件 (转自章立民CnBlogs)


    ASP.NET 2.0 – 如何巢状化GridView控件


    图表
    1

    最近听到有许多朋友询问如何以巢状方式使用GridView控件,也就是说在GridView控件中再内含另外一个GridView控件。我们最近在撰写ASP.NET AJAX一书时,刚好撰写了一个这样的范例,在此与大家分享其关键技巧。

    图表1所示者是我们所撰写的网页范例,从外观可以看出,我们是以巢状方式使用GridView控件。外层的GridView控件用以显示产品类别数据(也就是父数据记录),内层的GridView控件用以显示特定类别的各项产品(也就是子数据记录)。要如何制作这样的界面呢?关键技巧说明如下:

    q          首先,您必须替外层的GridView控件加入一个样版数据行(也就是TemplateField),并于此样版数据行中加入一个GridView控件(如图表2所示),这一个位于样版数据行中的GridView控件将成为内层的GridView控件。


    图表
    2

    q          请替外层GridView控件的RowDataBound事件处理例程撰写下列程序代码,以便将外层之产品类别数据列的「类别编号」字段值指派给内层GridView控件之数据来源之SELECT陈述式的CategoryID参数,如此一来,内层GridView控件就会显示出与所在产品类别数据列相关联的产品数据:

    Protected Sub ProductCategoryGridView_RowDataBound( _
     ByVal sender As Object, _
     ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) _
     Handles ProductCategoryGridView.RowDataBound
     If e.Row.RowType = DataControlRowType.DataRow Then
          Dim s As SqlDataSource = _
            CType(e.Row.FindControl("ProductsDataSource"), SqlDataSource)
          Dim r As System.Data.DataRowView = _
            CType(e.Row.DataItem, System.Data.DataRowView)
          s.SelectParameters("CategoryID").DefaultValue = r("类别编号").ToString()
     End If

    End Sub

    本文内容节录自章立民研究室正在撰写的「ASP.NET AJAX大解密一书」(书名暂定)。

  • 相关阅读:
    Linux下配置免密登录!
    centos7主机名的修改
    centos7和centos6区别
    Log4j的配置文件
    Java读取配置文件的几种方法
    关于WEB-INF目录下无法访问webapp下的css等静态文件
    metasploit 渗透测试笔记(meterpreter篇)
    metasploit 渗透测试笔记(基础篇)
    metasploit渗透测试笔记(内网渗透篇)
    自学PHP有哪些书籍和教程值得推荐?
  • 原文地址:https://www.cnblogs.com/RobotTech/p/607120.html
Copyright © 2020-2023  润新知