无限级分类在DataGrid和DropDownList中的体现

2023-11-07

实现效果:

Datagrid

Dropdownlist

实现效果:
Datagrid:
Dropdownlist:
实现步骤:
1、  创建表:
CREATE TABLE [dbo].[mulType] (
[TypeId] [int] IDENTITY (1, 1) NOT NULL ,
[PriTypeId] [int] NULL ,
[TypeCode] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[TypeName] [varchar] (100) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Layer] [tinyint] NULL
) ON [PRIMARY]
2、  创建视图:图片可以自由定义
create       view vmulType
as
select icon='<img src=null.gif height=5 border=0 width='+cast(layer*16 as varchar(20))+'><img src=part'+cast(layer as varchar(20))+'.gif border=0>',
TypeId,PriTypeId,TypeCode,TypeName=replicate('--',layer*2)+TypeName,TypeName2=TypeName,Layer
FROM mulType
3、  mulType.aspx
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="mulType.aspx.vb" Inherits="vbProject.mulType"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
       <HEAD>
              <title>mulType</title>
              <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
              <meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
              <meta content="JavaScript" name="vs_defaultClientScript">
              <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
       </HEAD>
       <body MS_POSITIONING="GridLayout">
              <form id="Form1" method="post" runat="server">
                     <asp:textbox id="TextBox1" style="Z-INDEX: 101; LEFT: 88px; POSITION: absolute; TOP: 32px" runat="server"></asp:textbox>
                     <asp:button id="Button1" style="Z-INDEX: 102; LEFT: 248px; POSITION: absolute; TOP: 32px" runat="server"
                            Text="新增"></asp:button>
                     <asp:dropdownlist id="DropDownList1" style="Z-INDEX: 103; LEFT: 88px; POSITION: absolute; TOP: 72px"
                            runat="server" DataTextField="TypeName" DataValueField="TypeId"></asp:dropdownlist><asp:textbox id="txtTypeId" style="Z-INDEX: 104; LEFT: 64px; POSITION: absolute; TOP: 288px"
                            runat="server" Width="0px"></asp:textbox>
                     <asp:datagrid id="DataGrid1" style="Z-INDEX: 105; LEFT: 16px; POSITION: absolute; TOP: 128px"
                            runat="server" Width="696px" AutoGenerateColumns="False">
                            <Columns>
                                   <asp:HyperLinkColumn DataNavigateUrlField="TypeId" DataNavigateUrlFormatString="mulType.aspx?TypeId={0}"
                                          DataTextField="cTypeName" HeaderText="类别名称"></asp:HyperLinkColumn>
                                   <asp:BoundColumn DataField="TypeName2" HeaderText="类别名称"></asp:BoundColumn>
                                   <asp:BoundColumn DataField="TypeCode" HeaderText="类别代码"></asp:BoundColumn>
                            </Columns>
                     </asp:datagrid>
                     <asp:Button id="Button2" style="Z-INDEX: 106; LEFT: 312px; POSITION: absolute; TOP: 32px" runat="server"
                            Text="清空"></asp:Button>
              </form>
       </body>
</HTML>
4、  mulType.aspx.vb
Public Class mulType
    Inherits System.Web.UI.Page
    Private vbp As New vbProject
 
#Region " Web 窗体设计器生成的代码 "
 
    '该调用是 Web 窗体设计器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
 
    End Sub
    Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
    Protected WithEvents Button1 As System.Web.UI.WebControls.Button
    Protected WithEvents DropDownList1 As System.Web.UI.WebControls.DropDownList
    Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
    Protected WithEvents txtTypeId As System.Web.UI.WebControls.TextBox
    Protected WithEvents Button2 As System.Web.UI.WebControls.Button
 
    '注意: 以下占位符声明是 Web 窗体设计器所必需的。
    '不要删除或移动它。
    Private designerPlaceholderDeclaration As System.Object
 
    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
    End Sub
 
#End Region
 
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Not IsPostBack Then
            txtTypeId.Text = "0"
            txtTypeId.Text = IIf(Request.QueryString("TypeId") = "", "0", _
                Request.QueryString("TypeId"))
            bindData()
            bindDropdownlist()
            GetData()
        End If
    End Sub
 
    Private Sub bindData()
        DataGrid1.DataSource = vbp.getmulType() '从视图中获取数据
        DataGrid1.DataBind()
    End Sub
 
    'Public Function getmulType(Optional ByVal strSearch As String = "") As DataTable
    '    Dim sql As String = " SELECT cTypeName = icon+ TypeName2,* FROM vmulType WHERE 1=1 " & strSearch
    '    sql &= " order by typecode"
    '    Return ConvertRederToTable(SqlData.ExecuteReader(getConnectString(1), CommandType.Text, sql))
    'End Function
 
    Private Sub bindDropdownlist()
        Dim dt As DataTable = vbp.getmulType()
        If dt.Rows.Count > 0 Then
            DropDownList1.DataSource = dt
            DropDownList1.DataBind()
            DropDownList1.Items.Insert(0, New ListItem("", "     "))
        End If
    End Sub
 
    Private Sub GetData()
        If Val(txtTypeId.Text) > 0 Then
            Dim dt As DataTable = vbp.getmulType(" AND TypeId = " & Val(txtTypeId.Text))
            If dt.Rows.Count > 0 Then
                TextBox1.Text = dt.Rows(0)("TypeName2").ToString()
                vbp.GetSelectedIndexByValue(DropDownList1, dt.Rows(0)("PriTypeId").ToString()) '
 
            End If
        End If
    End Sub
 
    '给下拉框指定选定值
    'Public Sub GetSelectedIndexByValue(ByRef ddlList As DropDownList, ByVal strValue As String)
    '    Dim intItems As Integer
 
    '    If Not (ddlList Is Nothing) Then
    '        With ddlList
    '            For intItems = 0 To .Items.Count - 1
    '                If .Items(intItems).Value = strValue Then
    '                    .ClearSelection() '清除原有选定
    '                    .SelectedIndex = intItems
    '                    Exit Sub
    '                End If
    '            Next
    '        End With
    '    Else
    '    End If
    'End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim strValue(2) As String
        strValue(0) = txtTypeId.Text
        If DropDownList1.Items.Count > 0 Then
            strValue(1) = Val(DropDownList1.SelectedItem.Value.ToString())
        Else
            strValue(1) = ""
        End If
        strValue(2) = TextBox1.Text
        vbp.mulTypeAddUp(strValue)
        bindData()
        bindDropdownlist()
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        txtTypeId.Text = "0"
        TextBox1.Text = ""
    End Sub
End Class
 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无限级分类在DataGrid和DropDownList中的体现 的相关文章

随机推荐

  • lgg8各个版本_如何评价LG G8?

    回复下吧 产品中规中矩的升级 奈何同期对手太强 宣发脑子被驴踢 前置TOF早有透露 自家lg innotek的产品 效果不错 能更好3d人脸自拍 人脸识别 以及AR 都9012了搞隔空操作还作为宣传主力真是脑子进了水 忘了三星S4的眼球操作
  • [人工智能-深度学习-24]:卷积神经网络CNN - CS231n解读 - 卷积神经网络基本层级

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 人工智能 深度学习 23 卷积神经网络CNN CS231n解读 卷积神经网络基本层级 文火冰糖 王文兵 的博客 CSDN博客 目录 第1章
  • 使用elment+moment写年时间段选择

    要求 选择年的时间段 不能选择当前年之后的年份 先看实现效果如 1 html结构代码
  • 矩阵的迹(Trace)

    译自维基百科 在线性代数中 方阵A n n 的迹定义为对角线元素的和 即 矩阵的迹表示的是特征值的和 它不随基的变化而变化 通常 这种特性可以用来定义线性算子的轨迹 注意 迹是对方阵而言的 举例 A是一个方阵 如下 则A的迹表示为 迹的特性
  • KEIL编译出现错误“source file is not valid utf-8”

    KEIL编译出现错误 source file is not valid utf 8 在外面复制了一段代码 c文件一直报错source file is not valid utf 8的错误 经查找原因就是 文件中出现中文符号导致的 特别是中文
  • 用Excel做相关性分析

    一 概念理解 相关关系 变量之间存在着的非严格的不确定的关系 对它们进行深层次的分析 观察它们的密切程度 相关性分析 对变量之间相关关系的分析 即相关性分析 其中比较常用的是线性相关分析 用来衡量它的指标是线性相关系数 又叫皮尔逊相关系数
  • new的三种用法

    new的三种用法 第一种 创建一个新对象 Test p new Test 10 这里的new的用法是创建一个新的Test型的对象 该用法一共有三个步骤 1 申请一个空间 2 在申请的空间当中构造一个对象 并将该对象放置到空间中 3 将空间的
  • Ubuntu下NFS服务器配置及应用

    NFS文件系统仅占用系统挂载点 NFS服务器设定好分享的目录 home shares 其他客服端就可以将这个目录挂载到自己系统上的挂载点上 home shares就像自己的一个分区 但不占用自己的磁盘空间 虽然NFS有自己的协议及端口号 但
  • 必测的支付漏洞(一)——使用fiddler篡改支付金额

    互联网产品中常会遇到支付功能 测试人员测试这部分功能时一定要重视 因为如果这部分出现了较严重的bug 将会给公司带来不小的经济损失 如果你测出了问题领导也一定会高兴的 因此测试优先级很高 但具有一定难度 刚接触测试的小白们可能不知道支付功能
  • 五分钟成为记忆王

    一 记忆的面纱 1 记忆的含义 1 就在我嘴边上 有多少次你这样说过 就在我嘴边上 又有过多少次在你需要什么时候 任凭你如何拼命地想 就是想不起来 当然 这问题不是你一个人才有 几乎所有的人都受到过记忆力差的困扰 这也是人类的一个最常见的不
  • stm32 IO口的八种输入输出模式

    记录一下stm32 IO口的八种输入输出模式的学习 首先 可以看见stm32的输入输出模式有以上8种 先从简单的开始说吧 上拉输入和下拉输入 看图 由上图可见 当IO口设置为上拉输入的时候 IO口内部的上拉电阻就被接上了 从字面意思可以理解
  • Java异常总结

    1 异常的定义 定义 异常又称例外 是程序执行过程中发生的事件 它会终止程序的正常执行 2 异常的分类 Error 是JVM内部产生的 不需要程序员去解决 是不受检查异常 非代码性错误 Exception 是用户程序可能出现的异常 它是用来
  • 单片机关于推挽输出和开漏输出

    什么是推挽输出 推挽输出既可以输出高电平也可以输出低电平 推挽式输出电路 推挽式输出电路是由互补的两个三极管构成 所谓推拉 推是指推出去 就是输出为高电平是 电流是由内流向外的 形象的称之为推 拉就是从外部向内部拉 当输出为低电平时 电流由
  • java设计模式——享元模式(Flyweight Pattern)

    概述 面向对象技术可以很好地解决一些灵活性或可扩展性问题 但在很多情况下需要在系统中增加类和对象的个数 当对象数量太多时 将导致运行代价过高 带来性能下降等问题 享元模式正是为解决这一类问题而诞生的 享元模式通过共享技术实现相同或相似对象的
  • java 抓取网页_Java抓取网页数据

    有时候由于种种原因 我们需要采集某个网站的数据 但由于不同网站对数据的显示方式略有不同 本文就用Java给大家演示如何抓取网站的数据 1 抓取原网页数据 2 抓取网页JavaScript返回的数据 一 抓取原网页 这个例子我们准备从http
  • 基于Cordova插件创建app及打包成apk

    基于Cordova插件创建app及打包成apk 1 配置开发环境 一 下载并安装node js npm功能可以使用 二 利用npm安装cordova插件 三 配置JAVA ANDROID GRDLE的系统环境 1 java jdk jre设
  • ThreadLocal与局部变量

    ThreadLocal和线程局部变量有什么区别 我们先看一段代码 如下 public class ThreadLocalLearn static ThreadLocal
  • 华为OJ:ip地址与整数之间的转换

    原理 ip地址的每段可以看成是一个0 255的整数 把每段拆分成一个二进制形式组合起来 然后把这个二进制数转变成 一个长整数 举例 一个ip地址为10 0 3 193 每段数字 相对应的二进制数 10 00001010 0 00000000
  • html5里js里怎么写入sql语句,SQL语句在JavaScript中的应用

    有兴趣的朋友可以 QQ 85302520 联系我 或者 Email gongji at qq dot com 已经开放了 SVN checkout 地址 http code google com p jsql javascript sour
  • 无限级分类在DataGrid和DropDownList中的体现

    实现效果 Datagrid Dropdownlist 实现效果 Datagrid Dropdownlist 实现步骤 1 创建表 CREATE TABLE dbo mulType TypeId int IDENTITY 1 1 NOT NU