- 浏览: 119430 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (135)
- java (135)
- [转]c# 画圆角矩形 (1)
- 设计模式生活实例 (1)
- .nET2.0小技巧 (1)
- 从另一个角度看敏捷实践(一)--IPM:承诺的仪式 (1)
- javascript字符串转json对象 (1)
- 使用BeanUtils时,Date类型值为空的解决方法 (1)
- Lenovo V460+Ubuntu 11.10 无线网问题 (1)
- Lucene 索引和搜索过程核心类详解 (1)
- Android短信编解码方式 (1)
- 股神巴菲特十大致富秘籍 (1)
- Map遍历的三种方法 (1)
- Android中用Toast.cancel()方法优化toast内容的显示 (1)
- ViewFlipper “Receiver not registered” Error (1)
- javax.xml.transform.TransformerFactoryConfigurationError (1)
- JNI调用的注意事项 (1)
- JUnit单元测试感悟 (1)
- 用C#写定时关机的程序 (1)
- ASP.NET开发工具Web Matrix介绍 (1)
- MapXtreme2004代码 MapControl控件中显示地图文件 (1)
- 《使用 Microsoft .NET 的企业解决方案模式》读书笔记3 (1)
- 微创短信开发平台 (1)
- 谈谈Q+平台的技术实现 (1)
- 手机防盗软件实现(源码) (1)
- 虚析构函数(总结 帖子) (1)
- c语言中去除const修饰 (1)
- ORA-01012: not logged on 解决办法 (1)
- paypal提现如何省钱 (1)
- 数独suduku (1)
- MyISAM InnoDB 区别 (1)
- 随 笔 (1)
- Android上的log,日志相关 (1)
- 百度质量部实习居然通过了~ (1)
最新评论
-
野狐禅:
ext.get('imagebrowse') is null
ExtJs上传图片预览功能 -
zhuyl_wind:
不切实际,呵呵
[]5年内买车买房-理财篇 -
in南京:
关键你那两千块钱就够交一个多月的房租!换个城市你那六百也远远不 ...
[]5年内买车买房-理财篇 -
javac_xinyun:
呵呵,看完了,确实不错,貌似第一年的房租每月算进去 ,人际关系 ...
[]5年内买车买房-理财篇 -
dishikun:
貌似很不错,就是没把房租算进去!
[]5年内买车买房-理财篇
通过递归方法 将datatable中的树状数据信息 按树状格式显示在dropdownlist中
- 博客分类:
- java
<p>datatable中的数据:<br>typeid , typename , parenttypeid<br>1 类别a 0<br>2 类别b 0<br>3 子类别b1 2<br>4 子类别a1 1<br>5 孙类别a11 4</p><p>dropdownlist的显示效果:<br>类别a<br>|--子类别a1<br>|----孙类别a11<br>类别b<br>|--子类别b1</p><div class="cnblogs_code"><img id="code_closed_image_170503" height="16" src="http://www.cnblogs.com/images/outliningindicators/contractedblock.gif" width="11" align="top"><img id="code_open_image_170503" style="display: none;" height="16" src="http://www.cnblogs.com/images/outliningindicators/expandedblockstart.gif" width="11" align="top"><span class="cnblogs_code_collapse" id="code_closed_text_170503">code</span><span id="code_open_text_170503" style="display: none;"><br><!--<br /><br />code highlighting produced by actipro codehighlighter (freeware)<br />http://www.codehighlighter.com/<br /><br />--><span style="color: #000000;"></span><span style="color: #0000ff;">#region</span><span style="color: #000000;">绑定</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">private</span><span style="color: #000000;"></span><span style="color: #0000ff;">void</span><span style="color: #000000;">fn_bind_dropdownlist()<br>{<br>datasetds;<br><br></span><span style="color: #008000;">//</span><span style="color: #008000;">数据库操作取出相应的ds<br></span><span style="color: #008000;">//</span><span style="color: #008000;">ds=bll_type.selectalltypeforchoose();</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #0000ff;">this</span><span style="color: #000000;">.ddl_type.items.clear();<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(ds</span><span style="color: #000000;">!=</span><span style="color: #000000;"></span><span style="color: #0000ff;">null</span><span style="color: #000000;"></span><span style="color: #000000;">&&</span><span style="color: #000000;">ds.tables.count</span><span style="color: #000000;">></span><span style="color: #000000;"></span><span style="color: #800080;">0</span><span style="color: #000000;"></span><span style="color: #000000;">&&</span><span style="color: #000000;">ds.tables[</span><span style="color: #800080;">0</span><span style="color: #000000;">].rows.count</span><span style="color: #000000;">></span><span style="color: #000000;"></span><span style="color: #800080;">0</span><span style="color: #000000;">)<br>{<br>datatabledtpara</span><span style="color: #000000;">=</span><span style="color: #000000;">ds.tables[</span><span style="color: #800080;">0</span><span style="color: #000000;">];<br>datatabledttree</span><span style="color: #000000;">=</span><span style="color: #000000;"></span><span style="color: #0000ff;">new</span><span style="color: #000000;">datatable();<br>dttree</span><span style="color: #000000;">=</span><span style="color: #000000;">dtpara.clone();<br>fn_changetotree(</span><span style="color: #0000ff;">ref</span><span style="color: #000000;">dttree,dtpara,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800000;">"</span><span style="color: #800000;">0</span><span style="color: #800000;">"</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">从顶级开始递归遍历</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br></span><span style="color: #0000ff;">this</span><span style="color: #000000;">.ddl_type.datasource</span><span style="color: #000000;">=</span><span style="color: #000000;">dttree;<br></span><span style="color: #0000ff;">this</span><span style="color: #000000;">.ddl_type.datatextfield</span><span style="color: #000000;">=</span><span style="color: #000000;">dttree.columns[</span><span style="color: #800080;">1</span><span style="color: #000000;">].tostring();<br></span><span style="color: #0000ff;">this</span><span style="color: #000000;">.ddl_type.datavaluefield</span><span style="color: #000000;">=</span><span style="color: #000000;">dttree.columns[</span><span style="color: #800080;">0</span><span style="color: #000000;">].tostring();<br></span><span style="color: #0000ff;">this</span><span style="color: #000000;">.ddl_type.databind();<br>}<br></span><span style="color: #0000ff;">this</span><span style="color: #000000;">.ddl_type.items.insert(</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #0000ff;">new</span><span style="color: #000000;">listitem(</span><span style="color: #800000;">""</span><span style="color: #000000;">,</span><span style="color: #800000;">"</span><span style="color: #800000;">0</span><span style="color: #800000;">"</span><span style="color: #000000;">));<br>}<br></span><span style="color: #0000ff;">#endregion</span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;">#region</span><span style="color: #000000;">将类别datatable信息整理成树状显示</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">private</span><span style="color: #000000;"></span><span style="color: #0000ff;">void</span><span style="color: #000000;">fn_changetotree(</span><span style="color: #0000ff;">ref</span><span style="color: #000000;">datatabledttree,datatabledtpara,</span><span style="color: #0000ff;">int</span><span style="color: #000000;">intlevel,</span><span style="color: #0000ff;">string</span><span style="color: #000000;">strparenttypeid)<br>{<br>intlevel</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">string</span><span style="color: #000000;">strleftpre</span><span style="color: #000000;">=</span><span style="color: #000000;"></span><span style="color: #800000;">""</span><span style="color: #000000;">;</span><span style="color: #008000;">//</span><span style="color: #008000;">处理每个级别的前缀内容显示</span><span style="color: #008000;"><br></span><span style="color: #000000;"></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(intlevel</span><span style="color: #000000;">></span><span style="color: #800080;">1</span><span style="color: #000000;">)<br>{<br>strleftpre</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">|</span><span style="color: #800000;">"</span><span style="color: #000000;"></span><span style="color: #000000;">+</span><span style="color: #000000;">strleftpre.padleft(intlevel</span><span style="color: #000000;">*</span><span style="color: #800080;">2</span><span style="color: #000000;">,</span><span style="color: #800000;">'</span><span style="color: #800000;">-</span><span style="color: #800000;">'</span><span style="color: #000000;">);<br>}<br><br>datatabledt1</span><span style="color: #000000;">=</span><span style="color: #000000;"></span><span style="color: #0000ff;">new</span><span style="color: #000000;">datatable();</span><span style="color: #008000;">//</span><span style="color: #008000;">当前类别</span><span style="color: #008000;"><br></span><span style="color: #000000;">dt1</span><span style="color: #000000;">=</span><span style="color: #000000;">dtpara.clone();<br>datatabledt2</span><span style="color: #000000;">=</span><span style="color: #000000;"></span><span style="color: #0000ff;">new</span><span style="color: #000000;">datatable();</span><span style="color: #008000;">//</span><span style="color: #008000;">下一级</span><span style="color: #008000;"><br></span><span style="color: #000000;">dt2</span><span style="color: #000000;">=</span><span style="color: #000000;">dtpara.clone();<br><br></span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">i</span><span style="color: #000000;">=</span><span style="color: #000000;"></span><span style="color: #800080;">0</span><span style="color: #000000;">;i</span><span style="color: #000000;"><</span><span style="color: #000000;">dtpara.rows.count;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>{<br>datarowdr</span><span style="color: #000000;">=</span><span style="color: #000000;">dtpara.rows[i];<br></span><span style="color: #0000ff;">string</span><span style="color: #000000;">strrowparenttypeid</span><span style="color: #000000;">=</span><span style="color: #000000;">dr[</span><span style="color: #800000;">"</span><span style="color: #800000;">parenttypeid</span><span style="color: #800000;">"</span><span style="color: #000000;">].tostring();<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(strrowparenttypeid</span><span style="color: #000000;">==</span><span style="color: #000000;">strparenttypeid)<br>{<br>dt1.rows.add(dr.itemarray);<br>}<br></span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br>{<br>dt2.rows.add(dr.itemarray);<br>}<br>}<br><br></span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">j</span><span style="color: #000000;">=</span><span style="color: #000000;"></span><span style="color: #800080;">0</span><span style="color: #000000;">;j</span><span style="color: #000000;"><</span><span style="color: #000000;">dt1.rows.count;j</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>{<br>datarowdr</span><span style="color: #000000;">=</span><span style="color: #000000;">dt1.rows[j];<br><br>dr[</span><span style="color: #800000;">"</span><span style="color: #800000;">typename</span><span style="color: #800000;">"</span><span style="color: #000000;">]</span><span style="color: #000000;">=</span><span style="color: #000000;">strleftpre</span><span style="color: #000000;">+</span><span style="color: #000000;">dr[</span><span style="color: #800000;">"</span><span style="color: #800000;">typename</span><span style="color: #800000;">"</span><span style="color: #000000;">].tostring();<br>dttree.rows.add(dr.itemarray);<br></span><span style="color: #0000ff;">string</span><span style="color: #000000;">strrowparenttypeid</span><span style="color: #000000;">=</span><span style="color: #000000;">dr[</span><span style="color: #800000;">"</span><span style="color: #800000;">typeid</span><span style="color: #800000;">"</span><span style="color: #000000;">].tostring();<br>fn_changetotree(</span><span style="color: #0000ff;">ref</span><span style="color: #000000;">dttree,dt2,intlevel,strrowparenttypeid);</span><span style="color: #008000;">//</span><span style="color: #008000;">递归</span><span style="color: #008000;"><br></span><span style="color: #000000;">}<br>}<br></span><span style="color: #0000ff;">#endregion</span></span>
发表评论
-
百度质量部实习居然通过了~
2012-02-08 12:23 992[size=small;]? ? ?本来打算在软工所苦 ... -
Android上的log,日志相关
2012-02-07 14:18 1533摘自:http://blog.csdn.net/met ... -
随 笔
2012-02-04 13:39 600金风玉露一相逢,便胜却人间无数。英文版: chemis ... -
MyISAM InnoDB 区别
2012-02-02 16:59 737<h1 id="artibody ... -
数独suduku
2012-01-31 14:38 916sudu sudu sudu sudu sudu su ... -
paypal提现如何省钱
2011-12-28 16:58 1224据PayPal中文注册得知,如今很多收样品费的外贸商户 ... -
ORA-01012: not logged on 解决办法
2011-12-28 13:08 3512<span style="font-f ... -
c语言中去除const修饰
2011-12-21 10:54 1435[size=16px;]<span style= ... -
虚析构函数(总结 帖子)
2011-12-21 09:54 706<span style="" ... -
手机防盗软件实现(源码)
2011-12-20 12:54 938<a href="http://blo ... -
谈谈Q+平台的技术实现
2011-12-20 09:49 963这篇文章是我个人 ... -
微创短信开发平台
2011-12-19 11:39 772在网上闲逛,发现了一个站点,微创短信开发平台(http ... -
《使用 Microsoft .NET 的企业解决方案模式》读书笔记3
2011-12-19 10:24 783第3章 Web表示模式 没有一个设计策略能够适合所有情 ... -
MapXtreme2004代码 MapControl控件中显示地图文件
2011-12-15 14:29 912::<?xml:namespace prefix ... -
ASP.NET开发工具Web Matrix介绍
2011-12-15 13:39 970<p class="MsoPlain ... -
用C#写定时关机的程序
2011-12-15 11:14 705</span></font>& ... -
JUnit单元测试感悟
2011-12-14 11:29 864<p class="MsoNorma ... -
JNI调用的注意事项
2011-12-14 09:34 754JNI的简单教程网上很多,看看就能够明白,照着操作也基 ... -
javax.xml.transform.TransformerFactoryConfigurationError
2011-12-13 13:34 854<span style="" ... -
ViewFlipper “Receiver not registered” Error
2011-12-12 10:59 1126偶尔出现这个错误: <span> < ...
相关推荐
- **功能**:这是一个递归方法,用于递归地将子节点绑定到DropdownList中。 - **参数说明**: - `Pading`:当前层级的前缀空格,用于显示层级关系。 - `DirId`:当前节点的ID。 - `dt`:包含数据的DataTable对象...
在Visual Studio 2005中,利用ASP.NET Web Forms技术,可以实现将DropDownList控件以树形结构展示数据的功能。此方法适用于需要展示层级关系数据的场景,如产品分类、组织架构等。下面将详细解析如何在VS2005中实现...
根据给定的信息,“树形下拉框.NET”主要涉及如何在.NET框架中通过树形下拉框(Tree Dropdown)来展示组织结构中的部门或岗位层级关系。下面将详细阐述这一技术实现过程及其背后的关键概念。 ### 一、树形下拉框的...
drowList控件通常指的是ASP.NET中的`DropDownList`控件,它被广泛用于下拉列表的创建,但在某些情况下,开发者希望将这个控件用作一个树形菜单或层级结构的展示工具。这不仅需要对控件进行定制化处理,还需要深入...
在***中实现递归方法以从数据库中提取菜单项,并将它们以分栏的形式显示在DropDownList控件中,需要了解多个知识点,包括递归算法、数据库操作以及DropDownList控件的使用方法。下面将详细介绍这些知识点。 首先,...
`CreateLevelDropDown`方法是实现此功能的核心,它接收一个DropDownList控件对象,以及包含分类数据的DataTable,然后通过递归的方式将层级关系添加到控件中。这个方法首先找到所有顶级分类(即parentid为0的行),...
- **DropDownListBind()** 方法用于递归地填充`DropDownList`,基于父节点ID,获取相关数据集,并将其转换为`DropDownList`项。 - **treeShow()** 方法用于递归地显示子节点。它接收父节点ID和父节点对象作为参数,...
该方法通过递归的方式将所有数据加载到 `TreeView` 控件中。 #### 3. 功能扩展 除了基本的数据展示外,我们还可以实现对树形结构的操作,如添加、编辑、删除节点等功能。这些功能可以通过按钮触发事件来实现。下面...
可以通过添加`TreeNode`对象到`Nodes`集合来构建树形结构。 **21. 使用皮肤美化WinForms** 可以使用第三方库如DevExpress、Telerik等来为WinForms应用添加皮肤效果,也可以自定义样式来美化界面。 #### 二、程序...
72 <br>0102 将字符串首字母转换大写 72 <br>0103 如何进行字节数组和字符串的相互转换 72 <br>0104 如何把一个按空格分割的字符串存储在一个ArrayList数组中 73 <br>4.2 获取字符串信息 73 ...
3. **构建树形结构**:在`addChildItems`方法中,使用`DataView`对数据进行筛选和排序,然后通过循环遍历每一行数据,生成表示层级关系的前缀(gridline),这通常是通过递归调用来实现的。前缀由一系列的"├"、"│...