快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

下载澳门新葡亰官网App:AspxTreeList数据绑定以及模板和外观定制的运用



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

懂得这幅图后,我们提出这么一些问题:

一、若何绑定命据,显示层级布局。

二、若何在不合的层级节点上显示不合的图标和内容,这里Report View中体现的四层应用的是不合的图标。而在Organisation第一层应用图标,今后的层中却显示文本,并在第三下载澳门新葡亰官网App层今后有超链接more追加显示。

三、Report View中Check字段的逻辑值“真”、“假”用图标调换显示。

四、单元非分特别不雅定制,这里可以看出,在数值域字段中大年夜于90的底色用浅蓝色显示,其它的用橙色显示。

阐发:根据上面的树型图表显示,无外乎难点便是对AspxTreeList模板的一下载澳门新葡亰官网App个利用。下面对实现全部效果进行解说。

绑定命据:该ASPxTreeList可以很轻易地填入数据的结合,任何标准的数据源类型,此中包括:SqlDataSource,ObjectDataSource,XmlDataSource,AccessDataSource ,SiteMapDataSource 。你还可以绑定ASPxTreeList的其它代表了树状布局的工具,或手动创建一个树的代码。

E.g.手动创建代码

绑定命据Code

1using System.Data.OleDb;

2

3using DevExpress.Web.ASPxTreeList;

4

5public partial class _Default : System.Web.UI.Page {

6

7    protected override void OnInit(EventArgs e)

8

9    {

10

11      base.OnInit(e);

12

13      InitTreeList(ASPxTreeList2);

14

15    }

16

17    protected void Page_Load(object sender, EventArgs e)

18

19    {

20

21      ASPxTreeList2.DataBind();

22

23    }

24

25    下载澳门新葡亰官网AppOleDbDataAdapter CreateDataAdapter()

26

27    {

28

29      string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Departments.mdb";

30

31      OleDbConnection myConnection = new OleDbConnection(connectionString);

32

33      string query = "SELECT ID, PARENTID, [COUNT], DEPARTMENT, BEIZHU FROM Organisation ";

34

35      return new OleDbDataAdapter(query, myConnection);

36

37    }

38

39    DataTable CreateDataTable(OleDbDataAdapter myAdapter)

40

41    {

42

43      DataTable dt = new DataTable();

44

45      DataSet testData = new DataSet();

46

47      myAdapter.Fill(testData);

48下载澳门新葡亰官网App

49      return testData.Tables[0];

50

51    }

52

53    void InitTreeList(ASPxTreeList tl)

54

55    {

56

57      tl.KeyFieldName = "ID";

58

59      tl.ParentFieldName = "ParentID";

60

61      ASPxTreeList2.DataSource = CreateDataTable(CreateDataAdapter());

62

63    }

64

65}

66

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

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

定义模板Code

1

2

3

4

5

6

7

8

9

10

11                        ' ImageAlign="Top" Visible="false">

14

15

16

17

18

19

20

21                        ' Visible="false" >

22

23

24

25

26

27

28

29                        '>

30

31

32

33

34

35

36

37                        ' Visible="false" Font-Underline="true"

38

39                            NavigateUrl="http:""www.evget.com">

40

41

42

43

44

45

46

47

48

49

50

51

52

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

HtmlRowPrepared事故Code

1protected void ASPxTreeList2_HtmlRowPrepared(object sender, TreeListHtmlRowEventArgs e)

2

3    {

4

5      i下载澳门新葡亰官网Appf (e.NodeKey == "1")

6

7      { ASPxImage image = ASPxTreeList2.FindDataCellTemplateControl(e.NodeKey, ASPxTreeList2.Columns["Organisation"] as TreeListDataColumn, "ImageOrg") as ASPxImage;

8

9        image.Visible = true;

10

11  }

12

13}

14

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

单元格定制Code

1 protected void ASPxTreeList1_HtmlDataCellPrepared(object sender, TreeListHtmlDataCellEventArgs e)

2

3    {  if (e.Column.Name == "COUNT")

4

5      {

6

7        float value = (float)e.CellValue;

8

9        if (value > 90)

10

11        {  e.Cell.BackColor = Color.SkyBlue;        }

12

13        else

14

15        {  e.Cell.BackColor = Color.Orange;        }

16

17      }

18

19    }

20

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

您可能还会对下面的文章感兴趣: