C# 中的treeview绑定数据库(递归算法)
2024-09-24 22:44:39
近日面试的给我两道题目,一道是IQ测试,第二个就是题目所言
总共两个表 department(id int not null primary key,parentid int,name char(50));
employee(id int not null foreign key(id) references department(id) ,departmentid,name char(50));
实现的代码记录如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient; public partial class Default01 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
fill_Tree(); } void fill_Tree()
{ SqlConnection SqlCon = new SqlConnection("server=(local);uid=sa;pwd=sa;database=test");
SqlCon.Open();
SqlCommand SqlCmd = new SqlCommand("Select id,name from department", SqlCon);
SqlDataReader Sdr = SqlCmd.ExecuteReader();
SqlCmd.Dispose();
string[,] ParentNode = new string[, ]; int count = ; while (Sdr.Read())
{ ParentNode[count, ] = Sdr.GetValue(Sdr.GetOrdinal("id")).ToString();
ParentNode[count++, ] = Sdr.GetValue(Sdr.GetOrdinal("name")).ToString(); } Sdr.Close(); for (int loop = ; loop < count; loop++)
{
TreeNode root = new TreeNode();
root.Text = ParentNode[loop, ];
root.Target = "_blank";
root.NavigateUrl = "Default01.aspx"; SqlCommand Module_SqlCmd = new SqlCommand("Select name,id from employee where departmentid =" + ParentNode[loop, ], SqlCon); SqlDataReader Module_Sdr = Module_SqlCmd.ExecuteReader(); while (Module_Sdr.Read())
{ TreeNode child = new TreeNode(); child.Text = Module_Sdr.GetValue(Module_Sdr.GetOrdinal("name")).ToString(); child.Target = "_blank"; child.NavigateUrl = "Default01.aspx"; root.ChildNodes.Add(child); } Module_Sdr.Close(); TreeView1.Nodes.Add(root); } TreeView1.CollapseAll();
SqlCon.Close(); } protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{ }
}
最新文章
- [Android]快捷键
- 微信电脑版真的要来了 微信Windows版客户端1.0 Alpha推出
- Android从零单排之自动跟新
- Centos 6.5使用Bumblebee关闭N卡,冷却你的电脑
- sql 日期时间格式转换
- NODE.JS玩玩
- 字符串匹配算法1-KMP
- URL Scheme吊起app实现另外一种登录方式
- Scala进阶之路-Spark底层通信小案例
- swift3.0 存取json数据到沙盒
- 将数组A中的内容和数组B中的内容进行交换。(数组一样大)
- POJ3255-Roadblocks(最短路)
- 阿里面试的一点感受 阿里ali片式经历和面试题
- java- Collection Set集合
- 一、Asp.Net Core WebAPI——修改默认监听端口
- 转 JSON在PHP中的基本应用
- iOS 适配/ autoLayout基本知识
- Linux各发行版本及其软件包管理方法
- python面向对象总结
- 第13章 Spring框架的设计理念与设计模式分析
热门文章
- [Elasticsearch] 向已存在的索引中加入自己定义filter/analyzer
- CentOS 开机启动
- Git-学习笔记(常用命令集合)
- Pytorch中的norm跟Numpy中的norm对比
- MFC的CListCtrl双击获取单元格的行列
- SQLSERVER中的timestamp 和 C#中的byte[] 转换
- atitit.loading的设计与实现控件选型attilax 总结
- 【Android】13.1 用Android自带的API访问SQLite数据库
- 2014 Multi-University Training Contest 1/HDU4864_Task(贪心)
- swift的UITableView的使用