使用DrowpDownList的问题
最近开发一个商品管理系统遇到下拉列表框问题
数据库products
id name fatherid
1 书籍 0
2 CD 0
3 软件 0
4 计算机类 1
5 文学类 1
6 流行歌曲 2
7 古典音乐 2
8 乐队 2
9 游戏 3
10 办公软件 3
.
.
.
填充到dropdownlist中是按照id排序的,想按照一下方式显示,请叫可以通过哪些方法实现?
书籍
计算机类
文学类
CD
流行歌曲
古典音乐
乐队
软件
游戏
办公软件
并且判断如果fatherid为0则表示为主类,不能选择。只能对子类进行选择。不同类别的选项背景用不同颜色表示,以示区别。同时也希望大家能够讨论一下一般处理的情况。
[解决办法]
你的需求实现倒是可以实现,不过太麻烦了,维护和扩展都不方便,还不如改下设计思路,用两个dropdownlist来实现,类似于省市二级联动的效果,属于比较常规的实现方式,网上的例子也到处都是
[解决办法]
ls说的有道理。
建议楼主换种方式来实现!
[解决办法]
1.
手动【递归】创建添加项
2. 颜色设置
//
<listitem style="color:red" value="1">Item#1</listitem>
//
ListItem item = new ListItem();
item.Attributes["style"] = "color:red";
[解决办法]
这个我做过 嘻嘻
把数据存在一个DataView里
用RowFileter过滤 拼串
最后绑定 挺好玩的
如果要代码 发我的mail吧 xep.com@163.com
[解决办法]
这个很容易 用select~(dropdownlist到了网页上也是select~)
<select>
<optgroup id="l1" label="书籍">
<option>计算机类</option>
<option>文学类</option>
</optgroup>
<optgroup label="CD">
<option> 流行歌曲</option>
<option>古典音乐</option>
<option>乐队</option>
</optgroup>
</select>
要动态实现的话 可以直接在HTML里写循环~
[解决办法]
with thetable as
(
select name,Id,Rank() over(partition by fatherId order by Id) Rank from products
)
select * from thetable
这样可以选出各个按各个fatherId为分类的各选项,在DropDownList中可以实现这些,但是比较麻烦。。建议还是采用AJAX联动的方式比较好一些,把根类绑定到一个DDL中。子选项放到另一个DDL中。。
[解决办法]
似乎不是很难解决,顶到明天
[解决办法]
LSSLU是正解
dropdownlist里有分组的属性,LZ可以试试看
[解决办法]
mark ^_^