首页 > 其他分享 >界面控件DevExpress WPF中文教程:TreeList视图及创建分配视图

界面控件DevExpress WPF中文教程:TreeList视图及创建分配视图

时间:2024-11-14 10:07:48浏览次数:1  
标签:控件 DevExpress 视图 WPF GridControl 节点

DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。

获取DevExpress v24.1正式版下载

DevExpress技术交流群11:749942875      欢迎一起进群讨论

TreeList视图

DevExpress WPF TreeListView被设计成以树的形式显示信息——无论是绑定模式还是非绑定模式,数据按列和节点(行)排列。网格列对应于数据源中的数据字段,节点表示数据记录。

DevExpress WPF中文教程

Xaml

<dxg:GridControl AutoGenerateColumns="AddNew"
EnableSmartColumnsGeneration="True"
ItemsSource="{Binding Customers}">
<dxg:GridControl.View>
<dxg:TreeListView Name="treeListView" AutoWidth="True"
KeyFieldName="ID" ParentFieldName="ParentID"
TreeDerivationMode="Selfreference"/>
</dxg:GridControl.View>
</dxg:GridControl>

除了标准的数据感知和表示功能,如数据编辑、排序、过滤、汇总计算、内置验证、解绑定列、运行时列定制等,它的具体功能包括:

  • 显示分层数据
    从不同的层次数据结构中获取信息,并以树的形式显示。
  • 非绑定模式
    您可以在XAML或代码中创建树,节点可以用不同类型的对象表示,唯一的要求是这些数据对象应该具有公共字段(列)。
  • 异步获取节点
    在后台线程中获取子节点,以保持应用程序UI响应用户操作。
  • 按需加载数据
    您可以根据需要创建树形结构,在展开父节点时动态创建和初始化子节点。
  • Tree-Traversal API
    为了简化对分层数据的管理(无需编写额外的递归代码),TreeList附带了一个易于使用的API,因此您可以从指定节点开始依次访问节点,直到最后一个节点。
创建和分配视图

您可以通过给GridControl.View属性分配以下对象来指定DevExpress WPF GridControl的视图。

  • TableView
  • TreeListView
  • CardView

注意:DevExpress WPF GridControl默认使用TableView。

在设计时分配视图

下面的例子展示了如何在标记中给GridControl分配一个TreeListView:

XAML

<dxg:GridControl ItemsSource="{Binding Employees}">
<dxg:GridControl.View>
<dxg:TreeListView KeyFieldName="ID" ParentFieldName="ParentID"/>
</dxg:GridControl.View>
<dxg:GridColumn FieldName="Name"/>
<dxg:GridColumn FieldName="Position"/>
<dxg:GridColumn FieldName="Department"/>
</dxg:GridControl>
DevExpress WPF中文教程
在运行时分配视图

下面的例子展示了如何在代码中分配一个CardView给GridControl:

C#

using DevExpress.Xpf.Grid;

// ...
public Window1() {
InitializeComponent();
grid.View = new CardView() {
NavigationStyle = GridViewNavigationStyle.Cell,
AllowGrouping = false
};
grid.DataSource = new nwindProductsDataSetTableAdapters.ProductsTableAdapter().GetData();
}

VB.NET

Imports DevExpress.Xpf.Grid

' ...
Class Window1
Public Sub New()
InitializeComponent()
grid.View = New CardView() With {
.NavigationStyle = GridViewNavigationStyle.Cell, _
.AllowGrouping = False
}
grid.DataSource = New nwindDataSetTableAdapters.CustomersTableAdapter().GetData()
End Sub
End Class
DevExpress WPF中文教程  

标签:控件,DevExpress,视图,WPF,GridControl,节点
From: https://www.cnblogs.com/AABBbaby/p/18545427

相关文章

  • QT: 操作主从视图及XML
    按钮绑定信号、槽控件属性  运行效果:  connectdlg.h #ifndefCONNECTDLG_H#defineCONNECTDLG_H#include<QDialog>#include<QMessageBox>classQSqlError;namespaceUi{classConnDlg;}classConnDlg:publicQDialog{Q_OBJECTpublic:......
  • Avalonia开源控件库强力推荐-Semi.Avalonia
    Avalonia开源控件库强力推荐-Semi.Avalonia Avalonia是什么?Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人......
  • 一个C#winform编写的2D数据曲线显示控件,三个Y轴,自定义曲线图表控件,电压电流实时数据曲
    一个C#winform编写的2D数据曲线显示控件,三个Y轴,自定义曲线图表控件,电压电流实时数据曲线,电压电流轨迹曲线实时刷新,点击显示此处数据(附下载链接)调用该控件案例截图如下所示:点我下载此资源》》》》》》》》......
  • elementUI中时间控件,设置范围一个月的方法
    <template><el-date-pickerstyle="width:260px;"V-model="timeRange"type="daterange"range-separator="value-format="yyyy-MM-dd"start-placeholder="开始日期"end-pla......
  • wpf项目使用winform控件
    环境:Win10、VS2017一、新建WPF项目  2.WPF项目添加System.Windows.Forms和WindowsFormsIntegration引用  3. 编写WPF窗体代码3.1.头部添加引用1xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"2xmlns:wfi="clr-namespace:S......
  • Windows无障碍优化:为控件添加可访问标签
    大家好,我是张赐荣。作为一名专注于无障碍优化的工程师,在日常工作中经常会遇到需要为应用添加读屏软件可识别的控件标签的需求。本文将分享我在C/C++中实现这一需求的经验。在c/c++开发的Windows原生应用程序中,通过实现IAccessible接口并处理WM_GETOBJECT消息,我们可以为控件提供......
  • 在Qt中创建和使用自定义控件类时,可能会遇到以下一些常见问题
    在Qt中创建和使用自定义控件类时,可能会遇到以下一些常见问题:一、布局相关问题大小调整不正确:问题描述:自定义控件在不同的布局环境下,可能无法按照预期调整大小。例如,当将自定义控件添加到一个水平布局或垂直布局中时,它可能不会随着布局的拉伸或收缩而正确地改变自身大小。原......
  • 自定义圆形进度条控件
    以下将以创建一个简单的为例,详细说明在Qt中创建自定义控件的步骤:一、创建项目首先,打开QtCreator并创建一个新的QtWidgetsApplication项目。按照向导完成项目的基本设置,比如项目名称、存储路径等。二、创建自定义控件类继承基础控件类:在项目中创建一个新的C++类,命名为Ci......
  • ThinkPHP6,视图的安装及模板渲染和变量赋值
    tp6视图功能由\think\View类配合视图驱动(也即模板引擎驱动)类一起完成,新版仅内置了PHP原生模板引擎(主要用于内置的异常页面输出),如果需要使用其它的模板引擎需要单独安装相应的模板引擎扩展。使用think-template模板引擎,只需要安装think-view模板引擎驱动。composercreate-proje......
  • Linux 终端控件:实时时刻表
    为了看几点才能讨论所以设计的,因此这里面有一个自带的机房时间表,你直接跑就行写得很naive,因为没找到Linux有啥API接口因此你需要在终端里跑如果用Vscode推荐分一个终端挂着否则可以单开一个终端然后置顶终端各种部件和时刻详细信息都提供了快捷修改接口,设置项全都放在......