博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GridView多层嵌套和折叠与展开
阅读量:6934 次
发布时间:2019-06-27

本文共 2612 字,大约阅读时间需要 8 分钟。

Insus.NET近段时间应朋友的要求,写一个GridView多层嵌套和折叠与展开。这个功能的GridView多层嵌套没有问题,因为已经做了无限次数,但是折叠与展开的功能,却花上不少时间(网上找资料),虽找到资料可参考,还是了解明它,并修改适合自己程序使用。效果如下:

 

站点中多个页面使用,因此Insus.NET把它写在一个用户自定义控件ASCX上。

InsusMenu.ascx
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="InsusMenu.ascx.vb" Inherits="AscxControls_InsusMenu" %>
',event)" />
<%# Eval("Year") & "年"%>

 

InsusMenu.ascx.vb
Imports System.DataImports Insus.NETPartial Class AscxControls_InsusMenu    Inherits System.Web.UI.UserControl    '宣告实例    Dim objVideoLibrary As New VideoLibrary()    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load        If Not IsPostBack Then            Data_Binding()        End If    End Sub    Private Sub Data_Binding()        '从数据库获取数据,绑定在第一层的GridView        Me.GridViewYear.DataSource = objVideoLibrary.GetYear()        Me.GridViewYear.DataBind()    End Sub    '数据绑定在第二层的GridView    Protected Sub GridViewYear_RowDataBound(sender As Object, e As GridViewRowEventArgs)        Dim dvr As DataRowView = DirectCast(e.Row.DataItem, DataRowView)        If e.Row.RowType = DataControlRowType.DataRow Then            If e.Row.FindControl("GridViewMonth") IsNot Nothing Then                Dim Gv As GridView = DirectCast(e.Row.FindControl("GridViewMonth"), GridView)                objVideoLibrary.Year = ConvertData.ToSmallInt(dvr("Year"))                Gv.DataSource = objVideoLibrary.GetMonthByYear()                Gv.DataBind()            End If        End If    End Sub    '数据绑定在第三层的GridView    Protected Sub GridViewMonth_RowDataBound(sender As Object, e As GridViewRowEventArgs)        Dim dvr As DataRowView = DirectCast(e.Row.DataItem, DataRowView)        If e.Row.RowType = DataControlRowType.DataRow Then            If e.Row.FindControl("GridViewVideoFile") IsNot Nothing Then                Dim Gv As GridView = DirectCast(e.Row.FindControl("GridViewVideoFile"), GridView)                objVideoLibrary.Year = ConvertData.ToSmallInt(dvr("Year"))                objVideoLibrary.Month = ConvertData.ToTinyInt(dvr("Month"))                Gv.DataSource = objVideoLibrary.GetByYearAndMonth()                Gv.DataBind()            End If        End If    End SubEnd Class

  

转载地址:http://njmjl.baihongyu.com/

你可能感兴趣的文章
企业搜索引擎开发之连接器connector(八)
查看>>
win8下Python学习——搭建web.py框架
查看>>
自动清理手机文件方法
查看>>
【工具类】NetWorkHelper
查看>>
Spring MVC 教程,快速入门,深入分析(转载)
查看>>
财经法规与会计职业道德4
查看>>
php 杂记
查看>>
单元测试同时支持 NUnit/MSTest
查看>>
沟通至上 《高效程序员的45个习惯》读书笔记
查看>>
解决Android中无法搜索联系人的问题
查看>>
使用网站作为WCF服务宿主的几种做法
查看>>
2013ACM多校联合(2)
查看>>
zoom.js:一款效果很独特的页面内容缩放插件
查看>>
GateWay程序分析01_主程序分析
查看>>
POJ 1328
查看>>
程序应用程序PureMvc学习(一)
查看>>
获取元素offset的方法
查看>>
Javascript综合应用小案例
查看>>
想统计指定用户每天通过EXCHANGE发送了多少封邮件么?
查看>>
PostgreSQL中,如何查询表所对应的文件名
查看>>