首页
学习
活动
专区
工具
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.3K50

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

未来的改进     其实,TreeGrid 作为 OEA 框架界面层的核心控件,主要是在提供 WPF 中的表格及一般表格功能。一般表格状态下的性能保障由虚拟化技术来实现。...而在状态下,则主要是支持树节点的懒加载,只实例化已经开展的行,即只有展开中的父行时,才会生成其对应的子行。如下图所示: ?    ...图4 表格的懒加载 表格状态下,暂时没有实现虚拟化。    ...考虑到目前表格状态下,使用懒加载在性能上已经没有什么问题,暂时就不实现虚拟化了。    ...下次更新 OEA 的时候,大家就可以在开源地址中下载到了。     TreeGrid 表格实现虚拟化技术,涉及到重构整个控件内部的组织结构,是本阶段 TreeGrid 重构的一个首要内容。

2.7K70

Node.js 动态表格大文件下载实践

前言 最近优化了几个新人写出的动态表格文件下载接口的性能瓶颈,感觉非常有必要总结一篇文章作为文档来抛砖引玉,以促进大家学习一起写出更专业的代码。...HTTP 文件下载 讲具体问题之前需要先了解一些 HTTP 基础,下面简单介绍一下用 Node.js&Koa 怎么实现文件下载。...参考: rfc2616 19.5.1 Content-Disposition rfc1806 Node.js Stream 简单下载 最简单的情况就是服务器上文件系统已经存在了某个文件,客户端请求下载直接把文件读了吐回去即可...动态表格 在了解完上述关于文件下载实现的基础后,我们来看一个实际问题:根据请求参数条件读取数据库的某张表的全部记录并导出为表格。...({ where: { ...conditions, f_user_id: rows.map(x =>`${x.f_user_id}`) } }) 流处理 在上面的 xlsx.js

6.2K30

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; //将树形结构补齐,达到每个底层还在节点都一样,就可以将结构的路径依次抽出作为表的行

29920

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.1K41
领券