首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OEA 中 WPF 表格整体重构

OEA 的界面层十分依赖当前的 TreeGrid 控件的各项功能,特别是实体的展现。但是,在 WPF 环境下,一直没有找到比较好用的 TreeGrid。...当初为了实现表格控件,所以我们在网络上搜索了大量文章,以下两篇是当时觉得最有用的:《CodeProject A Versatile TreeView for WPF_ Free source code...虽然这只是一个简单的半成品,但是已经达到了让界面上显示表格、并同时支持 OEA 中的 ListObjectView 控制器控制的两个目的。...另外,在使用 TreeGrid 时,其实开发人员还是希望同时拥有 表格 的两套 API。而老版本的表格却只有 节点操作的 API。...图 OEA TreeGrid 可视树结构图     具体的设计,可以看之前写的一篇文章:《OEA 中 WPF 表格虚拟化设计方案》。

1.8K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    技术总结:自动扩张WPF表格列宽

    问题描述     今天测试人员提了一个易用性的BUG,主要是说系统目前使用的控件不支持自动扩张列的宽度。其实客户那边已经对这个问题提了多次,不过由于对WPF只是入门级,所以一直都没改。...图1 问题描述 背景     控件在GIX4系统中已经被大量使用。这个控件是一年前其它同事在网上搜索到,再引入的。    ...发现,原来这个控件的方案是Avalon Team自己给出的:《TreeListView: Show Hierarchy Data with Details in Columns》。...如何找到控件的所有GridViewRowPresenter。     3. GridViewRowPresenter中,如何把第一列的控件找到。     4....其中学到了以下内容: 熟悉了TreeView、TreeViewItem、ItemsControl的使用及控件的原理。 表格控件TreeListView的设计过程(见之前的文章)。

    1.4K50

    OEA 中 WPF 表格虚拟化设计方案

    经检测,表现虽然表格的行已经做了虚拟化,但是由于列非常多,最终还是造成可视中的元素过多,而导致界面布局代码运行过慢。...未来的改进     其实,TreeGrid 作为 OEA 框架界面层的核心控件,主要是在提供 WPF 中的表格及一般表格功能。一般表格状态下的性能保障由虚拟化技术来实现。...而在状态下,则主要是支持树节点的懒加载,只实例化已经开展的行,即只有展开中的父行时,才会生成其对应的子行。如下图所示: ?    ...图4 表格的懒加载 表格状态下,暂时没有实现虚拟化。    ...考虑到目前表格状态下,使用懒加载在性能上已经没有什么问题,暂时就不实现虚拟化了。

    2.7K70

    c#分类结构统计表格的通用实现方式

    在开发过程中,经常会遇到的分类结构,而项目后期会根据分类对数据进行统计,不管是后台拼接table还是前后台分离开发方式,总是不能避免对结构的表头创建及同项单元格的合并问题,而后面的计算统计列也可能因为分类层级的参差不齐而需要加许多冗长复杂的条件判断...A 可能画的有点丑,大家见谅,然后我们依次从左到右拆分一下的路径, 1-11-111  1-12-121 1-12-122 1-13-131 2-21-211 2-21-212 相信到这里大家已经可以发现...,这里的的路径就是table中对应的行,路径中的节点对应的就是table中的列,我们只要把分类数据填充到中,然后把的每条路径按顺序抽出来,那不管多么复杂的层级关系,都是简单的行与列的两层循环就可以构建出来了...,节点的父级节点引用,子节点数组,是否有孩子节点,是否是空节点,节点下所包含的所有节点数,第一步我们先把把数据填充到结构中,在的初始化中先构建顶级节点,然后通过递归调用的方式填充         ...string.Empty; List tablelist = null; //将树形结构补齐,达到每个底层还在节点都一样,就可以将结构的路径依次抽出作为表的行

    32820

    JS导出JSON到Excel表格

    导出 $("#export").click(function () { ...

    13.8K10

    结构--的定义和基本术语(十六)

    1.的定义 是n(n>=0)个结点的有限集合T,当n=0时,称为空,当n>0时,该集合满足如下条件: 1.其中必有一个称为根的特定结点,它没有直接前驱,但是有零个或多个直接后续。...6.结点的层序编号:将中的结点从上层到下层,同层从左到右的次序排成一个线性序列,依次给它们编以连续的自然数。 7.的度:中所有结点的度的最大值。...8.的高度(深度):中所有结点的层次的最大值。 9.森林:m(m>=0)棵互不相交的的集合。...将一棵非空的根结点删去,就变成了一个森林,反之,给森林增加一个统一的的根结点,森林就变成了一棵。 10.有序:在T中,如果各个子树t之间有前后次序的,则称为有序数。...如图示这样的便是有序,大多数情况下默认都是有序,若结点不是有序排列,则称为无序,也称自由

    1.2K41
    领券