MultiRow中文版技术白皮书

引言

Microsoft .NET是一项比较成熟的技术开发框架,很多的商业应用都是基于.NET开发的,在这些商业应用中,作为数据展示和录入的表格控件,是不可或缺的。大多数的表格控件在数据展示上都是比较规整的,即单行单列的展示数据。然而,实际的商业应用中需要一些多元化的数据展现方式,MultiRow就是这样一款能够自由展现数据的基于.NET平台的表格控件。

MultiRow框架示意图

MultiRow的主框架如下图所示。首先,通过集成设计器设计适合于业务需求的模板,并把模板应用于MulitRow控件,之后把MultiRow绑定到相关的数据源(或者直接使用MultiRow的非绑定模式),这样数据源的每一条数据记录将会根据所设计的模板进行呈现。由于MultiRow支持.NET标准Windows窗体数据绑定模型,因此,大多数情况下只需设置DataSource属性即可。

MultiRow的设计思路

支持自由布局的架构设计

传统的表格类控件的布局都是严格的行和列结构,通过合并单元格完成特殊布局的需要。为了实现自由布局的数据展示方式,MultiRow在架构设计时打破了常用表格控件的行列概念,可以任意操作单元格的位置和大小,可以让上下两个单元格自由叠加,也可以设计个性化的列头和列脚,提供自动对齐工具以保证版面布局的美观。

在自由布局的基础上,MultiRow中增加了模板(Template)的概念。模板主要存储了一个表格的布局结构以及外观样式,用户在设计完模板之后,将其加载到MultiRow上,数据源的数据将会通过模板逐行的展现出来。这样的设计思路满足了设计和开发分离的用户需求,负责设计表格的美工人员只需要设计一个模板,在模板中设置好表格的所有布局和外观,然后交予应用程序开发人员进行具体功能的开发。同时,设计好的模板可以被保存为XML格式的文件,方便了开发者之间的交流和共享。

保持开放性,支持第三方控件的嵌入

同时,MultiRow的单元格设计采用开放的体系结构,支持第三方控件的嵌入,保持了良好的扩展性和对于特殊应用需求的支持。如果用户有其他的第三方厂商开发的.NET控件,并且希望把它作为MultiRow的一个单元格使用,只有实现相关的接口就可以做到第三方控件的嵌入。同时,MultiRow缺省内置了大约二十多种单元格类型,这些单元格大部分都是嵌入了Microsoft .NET的标准控件,可以满足大多数应用程序的基本需求。

覆盖表格控件的基本功能

MultiRow虽然采用了自由布局的设计,但它同时支持表格控件的基本功能。MultiRow可以被很方便的设计成一个传统的规整的Matrix样式的表格,支持了数据绑定,非绑定,排序,过滤,校验,冻结,多视图显示等。

在数据绑定方面,MultiRow支持三种模式:

  • .NET标准的数据绑定模型,任何实现了IList,IListSource,IBindingList和IBindingListView接口的实例都可以被绑定到MultiRow上,通常情况下,用户只需要设置MultiRow的DataSource和DataMember属性即可。
  • 非绑定模式,即在不绑定到数据源的情况下,可以很方便的操作和显示数据。
  • 虚拟模式,虚拟模式是为大型数据存储区而设计的,仅当数据需要显示的时候,由用户来操作单元格的填充,编辑和删除。

在数据表现方面,除提供了基本的诸如背景色等设置外,还提供了强大的渐变色能力,命名样式能力,各种文字的排布,旋转,拉伸,对齐等。

在数据校验方面,MultiRow内置了十余种校验器,可以方便的满足诸如值范围校验,值比较校验,正则表达式校验等,当校验失败时,可以以Tip,Icon,声音等多种方式提示用户,以便重新输入正确的值。

重视易用性

为了降低用户的学习成本,MultiRow采用了和DataGridView相似的接口设计,对于曾经使用过Microsoft DataGridView或者熟悉DataGridView接口设计的开发人员,使用起来会更加的的方便快捷。

MultiRow提供了一个强大的设计器,这个设计器集成于Visual Studio里,开发人员不需在多个工具之间切换,直接在Visual Studio里完成设计与开发。MultiRow的设计器采用了和Windows Form Designer相同的设计方式,用户通过鼠标拖拽就可以完成设计,基本不需要开发者编写额外的代码,提高开发效率,节约了开发的成本。

性能

MultiRow支持常见表格控件的基本功能。同时,得益于MultiRow的独特设计,能够达到百万行数据的平滑滚动。行和单元格的虚拟机制更让大数据量的内存消耗达到最低,让最终用户体验不一样的速度。

MultiRow的三种典型应用场景

具有复杂布局的数据表格

数据源的每一条记录根据模板上的设置进行展示,同时,用户也可以做选择,编辑,及更新数据等操作。

传统矩阵式表格的展示和操作

规整的展示数据,用户可以对数据进行排序,过滤等各种操作。

各类票据的设计开发

由于MultiRow采用了自由布局的设计思想,非常适合于中国样式发票类应用的设计和开发。通过我们提供的集成设计器,可以方便快速的设计出发票。另外,套打是发票中一个很常用的用例,MultiRow使用了.NET的打印机制,能够精确的实现套打功能。

试用版下载:http://gcdn.grapecity.com/showtopic-786.html

说明:试用期限不是30天,而是20个使用日。这样更有利于您安排试用时间。

另外,最近我们正在举办“葡萄城控件有奖调查”,二等奖将免费获得一套MultiRow中文版,并且含服务。如果对MultiRow有兴趣,不妨试试~

http://www.grapecity.cn/powertools/event.htm

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分布式系统和大数据处理

ppk谈JavaScript

这本书买得比较早,断断续续读了几次。这次花了一周时间重新读了一遍。总得来说,这本书中的部分理念,不说完全过时,但在现在的技术环境下也很难实现了。例如书中提到的“...

1212
来自专栏编程微刊

移动端iPhone系列适配问题的一些坑

2212
来自专栏腾讯社交用户体验设计

[ISUX转译]iOS 9人机界面指南(一)上篇:UI设计基础 - 腾讯ISUX

2454
来自专栏编程微刊

2018年九个很受欢迎的vue前端UI框架

最近在逛各大网站,论坛,SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,小编自己也趁着这个大前端的热潮,着手学习了一...

1.7K3
来自专栏编程微刊

vue2.0移动端自定义性别选择提示框

这篇文章主要是简单的实现了vue2.0移动端自定义性别选择的功能,很简单但是经常用到,于是写了一个小小的demo,记录下来。

1551
来自专栏携程技术中心

Qnext大会 | React Web——浏览器端复用React Native代码解决方案

原创专栏|杨乾军 ? 自2008年开始接触前端,至今已有8年的前端开发经验,是一名资深前端攻城狮。目前在去哪儿平台事业部前端架构组。 1 背景 ? 一直以来...

3586
来自专栏EAWorld

为什么使用React作为云平台的前端框架(PPT)

大家好,很高兴可以和大家分享“为什么使用React作为我们的前端框架”。 首先,我们来看一下普元云的总体架构图。 ? 从图中可以看到,在我们普元云平台中,我们最...

4394
来自专栏知晓程序

你的微信输入速度超过全国 99.9% 的好友 | 晓技巧

1425
来自专栏草根博客站长有话说

展望 WordPress 5.0 会给我们带来哪些更新?

目前 WordPress 最后的一个正式版已经到 4.9.7 了, WordPress 5.0 也即将到来了,那么 WordPress 5.0 会给我们带来哪些...

2373
来自专栏IMWeb前端团队

深入浅出React(一):React的设计哲学 - 简单之美

本文作者:IMWeb 刘起 原文出处:IMWeb社区 未经同意,禁止转载 编者按:自2013年Facebook发布以来,React吸引了越来越多的开发...

2165

扫码关注云+社区

领取腾讯云代金券