zoukankan      html  css  js  c++  java
  • AspxTreeList数据绑定以及模板和外观定制的运用

    如何实现DevExpress开发控件中的AspxTreeList的数据绑定,以及模板运用和外观自定义。为说明这个问题,我们先看下面这幅图。

     

    了解这幅图后,我们提出这么一些问题:

    一、如何绑定数据,显示层级结构。

    二、如何在不同的层级节点上显示不同的图标和内容,这里Report View中表现的四层使用的是不同的图标。而在Organisation第一层使用图标,以后的层中却显示文本,并在第三层以后有超链接more追加显示。

    三、Report ViewCheck字段的逻辑值“真”、“假”用图标替换显示。

    四、单元格外观定制,这里可以看出,在数值域字段中大于90的底色用浅蓝色显示,其它的用橙色显示。

    分析:根据上面的树型图表显示,无外乎难点就是对AspxTreeList模板的一个应用。下面对实现整个效果进行讲解。

    绑定数据:ASPxTreeList可以很容易地填入数据的结合,任何标准的数据源类型,其中包括:SqlDataSource,ObjectDataSource,XmlDataSourceAccessDataSource SiteMapDataSource 。你还可以绑定ASPxTreeList的其它代表了树状结构的对象,或手动创建一个树的代码。

    E.g.手动创建代码

    绑定数据Code

    设置模板:像在Organisation中的树型结构和Report View中的Tree字段很显然是使用了多个控件在同一字段区域,这时候我们不得不用模板来实现了。

    1.   定义模板:在Organisation中我们首先在DataCellTemplate追加ASPxImage、ASPxTextBox、ASPxLabel、ASPxHyperLink控件。

    定义模板Code

    2.         取得节点图片:通过ASPxImage ImageUrl='<%# GetTreeGlyph(2,Container) %>'调用服务端的GetTreeGlyph方法返回图片路径来选择当前节点图片。这里Check字段的图片显示方法一样处理只是将Level改为container.Text == "True"。示例代码参考如下:

    取得节点图片Code

    3.   设置控件可见属性:在ASPxTreeList_HtmlRowPrepared事件中使用e.NodeKey判断节点层级,运用FindDataCellTemplateControl方法找到匹配的控件,设置属性。示例代码如下:

     

    HtmlRowPrepared事件Code

     

    单元格定制:为实现Count数据值在大于90的情况下以浅蓝色显示,这个AspxTreeList也提供了对应的事件接口,参考代码如下:

    单元格定制Code
         

     

    到这里,图片上的显示效果基本实现,至于没提到的部分,都是在上面实现过程中可以通用的。这里就不在累赘讲了。

     

    扫邪者

    QQ:283300176

    MSN:harries123@hotmail.com

  • 相关阅读:
    PyQt4布局管理——绝对定位方式
    PyQt4 菜单栏 + 工具栏 + 状态栏 + 中心部件 生成一个文本编辑部件示例
    PyQt4工具栏
    PyQt4菜单栏
    PyQt4状态栏
    PyQt4将窗口放在屏幕中间
    PyQt4消息窗口
    PyQt4关闭窗口
    Mysql基础之 ALTER命令
    电脑开机后win系统运行异常慢,鼠标移动卡
  • 原文地址:https://www.cnblogs.com/justice/p/1370024.html
Copyright © 2011-2022 走看看