MVC + EFCore 项目实战 - 数仓管理系统9 - 数据源管理完结篇

 

咱们完成数据源管理的剩余部分:点击表名,预览表中数据。 html

咱们须要完成的是下图的方框部分。 json

考虑到这块之后可能复用,咱们将她独立出来,作成 view component. 后端

 

新建 view component 框架

由于前面屡次出现过 view component 的使用,分三步:创建类文件(WidgetTableViewComponent.cs)、创建视图文件、调用。详细步骤再也不展开。 数组

 

详解

一、类文件WidgetTableViewComponent.cs app

咱们接收两个参数,一个是链接字符串,一个是要查询的表名。 框架

核心功能就是要产生一个数据集的 json 字符串。 post

json格式的字符串比较容易在先后端传递、解析,推荐使用。 测试

 

二、view component 渲染视图 优化

视图的核心功能就是解析接收的json字符串,拼接成表格的html. spa

 

总体的结构以下:

 

下面重点看如何拼接。

先对数据作个预处理,表格归根到底就是个二维表,为了更方便处理,咱们将json字符串转为二维数组,以下。

处理前的字符串相似这样:

[{"DepartmentGroupKey":1,"ParentDepartmentGroupKey":null,"DepartmentGroupName":"Corporate"},

{"DepartmentGroupKey":2,"ParentDepartmentGroupKey":1,"DepartmentGroupName":"Executive General and Administration"},

{"DepartmentGroupKey":3,"ParentDepartmentGroupKey":1,"DepartmentGroupName":"Inventory Management"}]

即 [{标题:数据,标题:数据。。。},。。。,{标题:数据,标题:数据。。。}] 这样的格式。

处理后相似这样:

[ [标题,标题],[数据,数据],[数据,数据]。。。[数据,数据] ]

 

这样咱们拼接html时只要把第一行遍历做为标题,后面遍历做为数据,不断的append就能够了。

 

这样咱们的动态表格就构建好了,最后咱们在DBPreview调用一下便可:

@await Component.InvokeAsync("WidgetTable", new { connStr = @connStr, tbName ="DimAccount" })

 

* 说明:tbName这个参数实际没有用到(由于测试后发现不能将表名做为SqlParameter参数),直接改为了经过 Request.Query["curTb"] 接收表名。

效果如图,咱们点击表名传入不一样的表名参数,就能够获取相应表的数据预览。

 

总结

一、本次咱们完成了数据源管理最核心的部分,表格数据的动态展示。

数据源管理的核心功能就所有完成了,相信你能够根据本身的须要扩展这个系统。

最后提供一点扩展思路抛砖引玉,仅供参考:

将表格组件抽象出来做为一个组件(事实上我命名时已经能够看出来),相似的能够扩充出各类各样的图形组件。

图是根据表数据产生的,咱们能够按照:

数据à抽象出数据源 à 组件展现(表显示、图显示、KPI展现、地图展现等) 分离出数据应用的三个层次。(能够参考tableau, 开发出一个微型的tableau出来。)

 

 

二、如今正在大力提倡国产化软件,你们能够尝试作一些产品化的东西,不要单纯的作流程化的业务系统。

数据源管理这个模块到这里就所有结束了,其余非核心的(右上区域功能:动态产生筛选条件)以及其它UI等你们可自行优化。

由于时间问题,咱们整个的实战项目就开发到这。后面两个模块整个的开发过程相似,做为课后做业,你们可自行完成:)

 

欢迎在评论区留言打卡,happy coding :)

 

 

P.S. 相关文章

MVC + EFCore 项目实战 - 数仓管理系统8 - 数据源管理下--数据源预览

MVC + EFCore 项目实战 - 数仓管理系统7 - 数据源管理中--新增数据源

MVC + EFCore 项目实战 - 数仓管理系统6 – 数据源管理上--使用view component完成卡片列表

MVC + EFCore 项目实战 - 数仓管理系统5 – 菜单配置及里程碑划分

MVC + EFCore 项目实战 - 数仓管理系统4 – 需求分解

MVC + EFCore 项目实战 - 数仓管理系统3 - 完成总体样式风格配置

MVC + EFCore 项目实战 - 数仓管理系统2- 搭建基本框架配置EFCore

MVC + EFCore 项目实战 - 数仓管理系统1

相关文章
相关标签/搜索