当前位置:编程学习 > C#/ASP.NET >>

我想实现一个诸如以下样式的下拉框 用C#代码如何实现

所有分类
手机通讯
   GSM手机
   CDMA手机
手机配件
   电池
   外壳
   数据线
手机充值
   小灵通充值
   联通手机充值




我想要实现在一个下拉框点开之后是这种效果,里边的数据都是和数据库绑定了的 

请问如何实现呢? --------------------编程问答--------------------   那就只有自己手写控件啦 --------------------编程问答-------------------- 父节点能不能选择的啊?

简单点,你把数据源整理好,直接绑上去不就成了,子项使用空格缩进一下喽 --------------------编程问答--------------------   我看你还是搞个两级联动算了  写个控件不是一会的事 --------------------编程问答-------------------- 给你一个链接,你绝对可以做出来。

http://www.cnblogs.com/cyq1162/archive/2010/12/27/1918317.html --------------------编程问答--------------------
引用 2 楼 liu2008hz 的回复:
父节点能不能选择的啊?

简单点,你把数据源整理好,直接绑上去不就成了,子项使用空格缩进一下喽


  有可能带来视觉上的不爽 呵呵呵 不过也行 --------------------编程问答--------------------

SqlDataReader dr = dosoft.DAL.DbHelperSQL.GetDataReader("select * from xt_tc_ItemCategory where 所属分类=0");
            while (dr.Read())
            {
                string tid=dr["分类编码"].ToString();
                d1.Items.Add(new ListItem(dr["分类名称"].ToString(), ""));
                string sql = "select * from xt_tc_ItemCategory where  所属分类="+tid;
                SqlDataReader dr1 = dosoft.DAL.DbHelperSQL.GetDataReader(sql);
                while (dr1.Read())
                {
                    d1.Items.Add(new ListItem("__" + dr1["分类名称"].ToString(), dr1["分类编码"].ToString()));
                }
                dr1.Close();
                
            }
            dr.Close();
            onload();
--------------------编程问答-------------------- http://www.astreeview.com/astreeviewdemo/ASTreeViewDemo6.aspx

http://jquery-easyui.wikidot.com/document:combotree --------------------编程问答-------------------- 递归
public class DDLDepartment : DropDownList
  {
  public DDLDepartment()
  {
  bind(this, 0);
  this.Items.Insert(0, new ListItem("==请选择==", ""));
  }
  public void bind(DropDownList ddlDepartment, int parent)
  {
  IList<Department> deptlist = DepartmentBLL.SelectChild(parent);
  foreach (Department dept in deptlist)
  {
  string text = new string(' ', dept.Depth - 1);
  text += "└" + dept.DeptName;
  ddlDepartment.Items.Add(new ListItem(text, dept.DeptId.ToString()));
  bind(this, dept.DeptNo);
  }
    
  }
  public bool Blank
  {
  set
  {
  if (value == false) this.Items.RemoveAt(0);
  }
    
  }
  }   
--------------------编程问答-------------------- 手动绑定!~

public void DdlBind(DataSet ds,DropDownList ddl)
{for(int i=0;i<ds.Tables[0].Rows.Count;i++)
 {
  if(ds.Tables[0].Rows[i]["no"].Length==2)
  {
    ddl.Items.Add(new ListItem(ds.Tables[0].Rows[i]["name"].ToString(),ds.Tables[0].Rows[i]["no"].ToString()))
  }
  else
  {
    ddl.Items.Add(new ListItem("  "+ds.Tables[0].Rows[i]["name"].ToString(),ds.Tables[0].Rows[i]["no"].ToString()))//此处的空格用全角空格或者用 。
  } 
 }
}
--------------------编程问答--------------------
引用 6 楼 diaodiaop 的回复:
C# code

SqlDataReader dr = dosoft.DAL.DbHelperSQL.GetDataReader("select * from xt_tc_ItemCategory where 所属分类=0");
            while (dr.Read())
            {
                string tid=dr["分类编码"].T……





请问  如果把这其中的“--”换成空格的话   该怎么写呢   我试了   可是不行 --------------------编程问答--------------------
引用 10 楼 yizhikongbeizi001 的回复:
引用 6 楼 diaodiaop 的回复:

C# code

SqlDataReader dr = dosoft.DAL.DbHelperSQL.GetDataReader("select * from xt_tc_ItemCategory where 所属分类=0");
while (dr.Read())
{
string tid=dr["分类编码"].T……




……


哈哈 我的吧  我也是不行 用"└" 这个符号 或者 v1 里的假的空格吧
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,