一个项目中刚好用到,自己做下笔记备份 顺便和大家共享下

需要用到ASPxDropDownEdit ASPxTreeView 这两个控件

ASPxDropDownEdit对应的dll为:DevExpress.Web.ASPxEditors.v12.1.dll

web.config中的配置为:<add tagPrefix="dx" namespace="DevExpress.Web.ASPxEditors" assembly="DevExpress.Web.ASPxEditors.v12.1, Version=12.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />

ASPxTreeView对应的dll为:DevExpress.Web.v12.1.dll

web.config中的配置为:<add tagPrefix="dx" namespace="DevExpress.Web.ASPxTreeView" assembly="DevExpress.Web.v12.1, Version=12.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />

先上效果图:

<dx:ASPxDropDownEdit ID="ddNodes" runat="server" ClientInstanceName="ddNodes" AllowUserInput="false" Width="200px">
<DropDownWindowTemplate>
<dx:ASPxTreeView ID="tvNodes" runat="server" ClientInstanceName="tvNodes"
AllowSelectNode="true" ShowExpandButtons="true">
<ClientSideEvents NodeClick="OnNodesTreeViewNodeClick" /><!--对控件进行赋值的js方法-->
</dx:ASPxTreeView>
</DropDownWindowTemplate>
</dx:ASPxDropDownEdit>

对控件进行js赋值的方法

function OnNodesTreeViewNodeClick(s, e) {
if (e.node.nodes.length > 0)
return;
ddNodes.SetKeyValue(e.node.name);
ddNodes.SetText(e.node.GetText());
ddNodes.HideDropDown();
}

后台代码实现

ASPxTreeView tvNodes = ddNodes.FindControl("tvNodes") as ASPxTreeView;
TreeViewCreateNodes(数据列表,tvNodes.Nodes,"0");//创建TreeViewNodes的方法
tvNodes.SelectedNode = TreeViewSelectedNode(tvNodes,'5'); //5为选中节点的ID
ddNodes.Text = tvNodes.SelectedNode.Text;
ddNodes.KeyValue = tvNodes.SelectedNode.Name;

/// <summary>
/// 创建TreeViewNodes节点
/// </summary>
/// <param name="table"></param>
/// <param name="nodesCollection"></param>
/// <param name="parentID"></param>
public static void TreeViewCreateNodes(IList<T> table, TreeViewNodeCollection nodesCollection, string parentID)
{
  for (int i = 0; i < table.Count; i++)
  {
    if (table[i].ParentID == parentID)
    {
      TreeViewNode node = new TreeViewNode(table[i].Name, table[i].ID);
      nodesCollection.Add(node);
      TreeViewCreateNodes(table, node.Nodes, node.Name);
    }
  }
}

/// <summary>
/// 获取TreeViewNodes选中节点
/// </summary>
/// <param name="tvn"></param>
/// <param name="selectID"></param>
/// <returns></returns>
public void TreeViewSelectedNode(ASPxTreeView tvNodes, string selectID)
{
  foreach (TreeViewNode tvn in tvNodes.Nodes)
  {
    tvNodes.SelectedNode = TreeViewSelectedNode(tvn, selectID);
    if (tvNodes.SelectedNode != null)
      break;
  }
}

/// <summary>
/// 获取TreeViewNodes选中节点
/// </summary>
/// <param name="tvn"></param>
/// <param name="selectID"></param>
/// <returns></returns>
private TreeViewNode TreeViewSelectedNode(TreeViewNode tvn, string selectID)
{
  if (tvn.Name == selectID)
  {
    return tvn;
  }
  else if (tvn.Nodes.Count > 0)
  {
    foreach (TreeViewNode tvnChild in tvn.Nodes)
    {
      TreeViewNode tvns = TreeViewSelectedNode(tvnChild, selectID);
      if (tvns != null)
        return tvns;
    }
  }
  return null;
}

转载引用 请保留 版权http://www.cnblogs.com/xushaonian/p/3230181.html BY www.gkxsn.com

杯子 http://988777.taobao.com/

鞋子 http://xiaobenxie.taobao.com/

Dev ComboxTree的实现的更多相关文章

  1. 特殊文件: /dev/null和/dev/tty

    转自:http://www.cnblogs.com/stephen-liu74/archive/2011/11/10/2240461.html Linux系统提供了两个对Shell编程非常有用的特殊文 ...

  2. Dev控件GridView单元格绑定控件

    Dev控件GridView单元格绑定控件 //文本按钮 RepositoryItemButtonEdit btnFields = new RepositoryItemButtonEdit();//创建 ...

  3. EasyuI comboxTree 使用笔记

    继承至 $.fn.combo.defaults 和$.fn.tree.defaults.覆盖默认值$.fn.combotree.defaults. combotree结合选择控制和下拉树,类似于com ...

  4. oracle对/dev/shm的使用

    查看共享内存打开的文件数 [root@db2 ~]# lsof -n | grep /dev/shm | wc -l 34693 共享内存中总共文件数 [root@db2 ~]# ls -l /dev ...

  5. 浅析/dev/shm

    一,/dev/shm 概念 /dev/shm 是一个tmpfs文件系统,临时文件系统,是基于内存的文件系统,也就是说/dev/shm中的文件是直接写入内存的,而不占用硬盘空间. 在Centos和Red ...

  6. Dev Cpp 输出中文字符问题

    最近 c++ 上机作业,vc++6.0 挂了没法用,只好用 Dev Cpp 先顶替一下,然而在遇到输出中文字符的时候出现了乱码的情况,但这种情况又非常诡异.于是简单了解了一下写成此博客. [写在前面] ...

  7. dev c++ Boost库的安装

    dev c++ 的boost库的安装步骤 然后点击“check for updates”按钮 最后点击“Download selected”按钮,下载完成后安装.... 给dev添加boost库文件, ...

  8. Dev Winform 简洁界面模板制作

    今天看到Dev的安装程序,发现界面很漂亮如下图: 于是想到做个类似的简洁明了的界面出来,平常开发小程序什么的都方便很多. 1.首先是自己添加了一个XtraForm,我们发现它有点丑(我为了性能,习惯把 ...

  9. Dev TreeList 总结

    1.表格的要求:如果要求有父子节点关系,则必须有ID和ParentID字段,并且父节点ParentID字段必须指向ID字段. 2.Access表格在穿入DATATABLE的时候,要想表现出父子节点关系 ...

随机推荐

  1. HTTP请求中的缓存(cache)机制

    http://www.chaorenmao.com/blog/?p=79 流程 当资源第一次被访问的时候,HTTP头部如下 (Request-Line)  GET /a.html HTTP/1.1Ho ...

  2. C# 配置文件读取与修改

    C# 配置文件读取与修改   配置文件在很多情况下都使用到, 配置文件分为两种 一种是应用程序的配置文件, 一种是web的配置文件. 两种配置文件最大的区别是web的配置文件更新之后会实时更新, 应用 ...

  3. 在DDMS中查看网络使用详情

    在Android 4.0设置中的“流量使用情况”允许长期统计每个App如何使用网络资源.从4.0.3开始,配合最新发布的DDMS r17(在ADT r17 插件中有集成),您可以实时的在DDMS中查看 ...

  4. 不要浪费人生的每一天 ——Dropbox创始人在麻省理工的演讲 z

    Dropbox 创始人,CEO 德鲁·休斯顿(Drew Houston)近期在美国麻省理工学院的毕业典礼上发表演讲.他向大学生提出了 3 点人生建议:追逐自己感兴趣的事,找到最合适的圈子,以及不要浪费 ...

  5. 转载--C++ STL

    转自:http://wenku.baidu.com/view/15d18b4533687e21af45a9a4.html 1.C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vec ...

  6. Request Connection: Remote Server @ 192.229.145.200:80

    录制Loadrunner脚本时,提示: Request Connection: Remote Server @ 192.229.145.200:80   NOT INTERCEPTED!(REASON ...

  7. Html笔记(七)表单

    表单标签: <form> 表单标签是最常用的标签,用于与服务器端的交互. <input>:输入标签:接受用户输入信息 其中type属性指定输入标签的类型 文本框 text:输入 ...

  8. 除去重复记录distinct

    在查询数据库时候,可以使用distinct关键字过滤重复记录 例如 SELECT distinct ShiftID FROM [AdventureWorks].[HumanResources].[Em ...

  9. HW5.20

    public class Solution { public static void main(String[] args) { System.out.printf("%s\t%s\t%s\ ...

  10. PC-经典之“运行里面的密密”

    msconfig.exe 你自己往里面输入这个字母就可以看到了,试试看,还有,我这里有一些可以在"运行"栏里输入的命令,一并给你: 以下为Windows操作系统的常用运行命令,执行 ...