这段时间需要用到树形菜单,理所当然的想到了treeview,构建菜单数据表-读取并生成节点...
一切都很顺利,但是最后应用到页面上面的时候,颜色问题让我头痛了半天:
selected节点和hover节点的颜色是在丑陋(如果是浅色的底色还好一些,可是项目中是黑色的底色)
于是这两中节点上面的字就变的难以辨认(如果显示器老化或颜色比较暗的话就是一片漆黑了...)
无论怎样设置selectedstyle和hoverstyle都无济于事,最后只好在csdn发贴求助,呵呵没过多久就没孟子老大
一语点醒-“修改htc中的相关样式”,我怎么就没想到
打开/webctrl_client/1_0/treeview.htc文件,好家伙3000行... ...  既然是混色的感觉,应该是alpha吧,搜之...
找到如下几行
[code]
var oFilter = oItem.filters.item("DXImageTransform.Microsoft.Alpha");
 if (oFilter)
 {
       oFilter.opacity *= 2;   //这里改成oFilter.opacity=100,还有个地方是oFilter.opacity /= 2,同样100
}

g_styles["hoverstyle"] = "color: highlighttext; background-color:highlight; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50,style=0);";   //这里的opacity也是100
[/code]
他们分别是默认的样式和改变的样式,
呵呵,一切ok了;当时弄起来可没这么快:
http://community.csdn.net/Expert/topic/3443/3443524.xml?temp=.9843408

另外附上一个树的生成算法:
[code]
private void creatdv()
  {
   string c="select classID,class,parentID from Aclass order by orderID";
   db d=new db(str_conn,c);  //自己写的一个数据库链接类
   d.initialdbconnection();
   d.objsconn.Open();
   SqlDataReader sdr=d.objscomm.ExecuteReader();
   DataTable dt = new DataTable("table");
   dt.Columns.Add("classID",System.Type.GetType("System.String"));
   dt.Columns.Add("class",System.Type.GetType("System.String"));
   dt.Columns.Add("pID",System.Type.GetType("System.String"));

while(sdr.Read())
   {
    DataRow dr=dt.NewRow();
    dr["classID"]=sdr["classID"].ToString();
    dr["class"]=sdr["class"].ToString();
    dr["pID"]=sdr["parentID"].ToString();
    dt.Rows.Add(dr);
   }
   d.objsconn.Close();
   DataView dv=dt.DefaultView;
   CreateTree(tv.Nodes,0,dv);
  }

private void CreateTree(TreeNodeCollection classNodeCollection ,int pID,DataView dv)
  {  
      dv.RowFilter="PID="+pID;
      int tmpParentFolderID=0;
      foreach(DataRowView drv in  dv)
      {
           TreeNode tn=new TreeNode();
          tn.ID=drv.Row["classID"].ToString();
         tn.NodeData=drv.Row["classID"].ToString();
         tn.Text=drv.Row["class"].ToString().Trim();
          tmpParentFolderID=Int32.Parse(drv.Row["pID"].ToString().Trim());
         classNodeCollection.Add(tn);
         CreateTree(classNodeCollection[classNodeCollection.Count - 1].Nodes,Int32.Parse(tn.ID),dv);
      }      
  }
[/code]
主要是一个递归函数

ps:第一次在自己的blog里写东西,看了很多大侠的blog获益良多,也不能让自己的blog总是空着了,算是开荒了

为TreeView正色相关推荐

  1. SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题...

    转:http://blog.csdn.net/miragesky2049/article/details/7204882 SharePoint2010沙盒解决方案基础开发--关于TreeView树形控 ...

  2. treeview 保持选中状态

    发现当treeview控件失去焦点的时候,会丢失选中状态的指示(条目的蓝色背景).如果想要保持,只要设置treeview的一个属性即可: this.treeView1.HideSelection = ...

  3. 遍历Treeview每个节点并初始化(C#)

    搞了好久,哎,C#的一些控件用起来还没习惯,所以折腾啊. TreeView的形成,必然要初始化,数据记录是从数据库中取得的,那么要先取再遍历.介绍下心得吧. 首先,数据预期显示结果如下 其次,数据库结 ...

  4. 自己开发开源jquery插件--给jquery.treeview加上checkbox

    很多时候需要把树状的数据显示除来,比如分类,中国省份.城市信息,等,因此这方面的javascript插件也有很多.比如性能优异的jquery.treeview和国人开发的功能强大的zTree. 我最近 ...

  5. dev treeview控件_在Winform开发框架中使用DevExpress的TreeList和TreeListLookupEdit控件

    DevExpress提供的树形列表控件TreeList和树形下拉列表控件TreeListLookupEdit都是非常强大的一个控件,它和我们传统Winform的TreeView控件使用上有所不同,我一 ...

  6. ASP.Net中的TreeView控件中对节点的上移和下移操作

    Web中的TreeView中的没有PreNode和NextNode属性. 但它的集合属性中有一个IndexOf属性,从而能够找到它的前一个节点知后一个节点. TreeView中要么只有一个根节点:要么 ...

  7. 详解Silverlight Treeview的HierarchicalDataTemplate使用

    在Silverlight项目中,Treeview控件是比较常用的表示层次或者等级的控件,该控件可以非常清晰的显示数据之间的隶属关系.对于Treeview控件的基本使用已经有很多文章介绍,这里我想讲解一 ...

  8. jquery treeview 树形插件

    jquery treeview 插件参数说明 treeview开源地址:https://github.com/jzaefferer/jquery-treeview 1.animated:String ...

  9. 在winform中从外部拖动节点到树形结构(treeview和listview相互拖动)(一)

    最近一个项目要用到从listview向treeview拖动item,达到从外部拖动图标成为树形结构的一部分,通过查阅资料总结了一些实现方式,分享给大家.这是winform中的例子. 在进行拖放操作之前 ...

最新文章

  1. 机房重构——报表问题总结
  2. Android webView 缓存 Cache + HTML5离线功能 解决
  3. 【实施工程师】Linux怎么查看当前进程
  4. CSS导入使用及引用的两种方法
  5. n1运行linux,斐讯 N1 运行 ArchLinuxARM
  6. PHP扩展详解(一)
  7. web.xml 详细介绍
  8. IONIC打包安卓遇到COM.ANDROID.SUPPORT:SUPPORT-V4错误的解决办法
  9. 数据库之互联网常用架构方案一览
  10. 浅谈JavaScript函数重载
  11. 局域网用户的限制与反限制
  12. 新版智能广告点击要饭网单页网站源码
  13. Cadence PSpice 仿真2: 三极管运放交流小信号仿真图文教程
  14. Git学习系列15 HEAD ORIG_HEAD FETCH_HEAD detached HEAD
  15. 一个方便的大文件分割web工具
  16. 海豚湾--纪录日本人如何杀戮海豚的
  17. 使用addr2line 定位 FORTIFY: vsprintf: prevented write past end of buffer‘ 报错解决思路
  18. iveiw:Switch开关用法
  19. 疯狂的“元宇宙”炒房:有玩家囤了100套房,不到半年翻6倍
  20. ThinkPad触摸板开启或者关闭方法

热门文章

  1. 一些可以参考文章集合2
  2. ajax实验,AJAX实验报告.doc
  3. 用未来教育计算机总得不了满分,二级狗屁不通的我是如何满分通过上机考试的?...
  4. 富爸爸,穷爸爸读后的一些认知
  5. Qt编写地图综合应用43-点聚合
  6. DBSCAN-SWA:一行命令找到溶源噬菌体
  7. 香港科大2020十大准独角兽 震撼发布!
  8. 安徽全省谷歌卫星地图免费下载的方法
  9. proteus教程——操作内存并行扩展8255
  10. 英特尔眼中的三大科技趋势