博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GridView多层嵌套和折叠与展开
阅读量:6933 次
发布时间: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/

你可能感兴趣的文章
构建网络爬虫?so easy
查看>>
javascript之DOM操作
查看>>
hive 导出数据到 csv
查看>>
数据库索引原理及优化
查看>>
查找存储过程的执行频率和时间
查看>>
我的友情链接
查看>>
Monocular-GUI for Helm Charts with Kubernetes
查看>>
python初学体会
查看>>
powerdesigner 16.5使用教程
查看>>
cisco 设备配置ACL访问控制列表
查看>>
配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
查看>>
运算符的重载
查看>>
冒泡排序
查看>>
测试方案
查看>>
使用类和结构组织代码
查看>>
grub
查看>>
以太坊DPOS源码分析
查看>>
FFMPEG函数fill_buffer()
查看>>
ZooKeeper示例 实时更新server列表
查看>>
网络设备Telnet的配置及验证
查看>>