ag-grid with web api
ag-grid
ag-grid的定位是一个企业级别的前端表格控件.
- 支持的框架: 原生JavaScript, Angular, React,Vue.js.
- 行模式: 有4中行模式, 不同的模式支持不同的功能
- Client-side(免费): 默认的模式, 网格将一次性将所有数据加载到网格中. 少于10K条记录时推荐使用.
网格可以在内存中执行过滤,排序,分组,旋转和聚合。 - Infinite(免费):
- 不用一次性将所有数据加载到界面, 提供过滤, 排序等API, 可以将界面的条件传到后端server中,从而分批次的加载数据.
- 默认提供的是下拉到最后一行, 触发一次查询, 通过增加额外分页条件, 可以实现server端分页, 下面项目的client page实现了服务端分页.
- 缺陷是不能进行服务端分组功能.
- Server-side(收费): 服务器端行模型建立在Infinite上, 最大的区别是可以进行服务端分组. 下面的项目使用的也是这种模式.
当用户向下滚动时,它也会延迟加载数据。此外,它允许通过服务器端分组和聚合来延迟加载分组数据。高级用户将使用服务器端行模型通过服务器端聚合执行临时切片和数据切片 - Viewport(收费): 网格将告知服务器它正在显示的数据(第一行和最后一行),服务器将仅为这些行提供数据。如果您希望服务器确切知道用户正在查看的内容,请使用此选项,这对于非常大的实时数据流中的更新非常有用,其中服务器仅向查看受影响行的客户端发送更新
- Client-side(免费): 默认的模式, 网格将一次性将所有数据加载到网格中. 少于10K条记录时推荐使用.
- 支持的功能: 不同的行模式具体提供的功能.
web api(asp.net web api)
web api: 可以简单的视作没有view层的MVC, 轻量级的WCF
- 构建REST-ful service, 支持http协议: request, post, put, delete…
- 可以创建完整的HTTP服务,只需返回数据, 像json, xml等,
- 不维护复杂的网页控件状态
- 完美的支持移动端访问
- 可以嵌合到web app中使用, 但是需要独立的api server及路由过滤
AgGrid-WebAPI Project
简单使用 ag-grid和web api. 运行框架: .net core 2.2
- parameter(filterModels, sortModels…): Client(browser) => Server(.net core 2.2) => Oracle DB(procedure)
GitHub
项目源码: webAPI-AgGrid
Function
- Infinite Mode: Pagination, Filter, Sort
- Server Mode: Pagination, Filter, Sort, Group by
Application Context
- Front End: Ag-grid + JavaScript
- Server: Web API + ADO.Net(No EF)
- DataBase: Oracle: procedure
- 显示大数据量,考虑到控件自身的功能丰富度和support, 前端使用ag-grid控件
- 容器化, 使用.net core 2.2框架
- 兼容移动端, 使用web api
- 为了更好的利用已有的存储过程, 未使用EF, 通过 ADO.Net获取数据库数据.
Project Intro
AgGridApi 网站程序项目
- Config files
- launchSettings.json: 默认的程序启动配置文件
- dbsettings.json: 配置数据库连接字符串
- Startup.cs: 配置和注入服务
//add mvc serv services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);//inject costumed instance// Scoped objects are the same within a request but different across requests. services.AddScoped<IDemo, Demo>();
- Controller: DI+RESTful
[Route("api/aggrid")][ApiController]public class AgGridController : ControllerBase{private readonly IAGServer _aGServer;private readonly IRequestBuilder _requestBuilder;public AgGridController(IAGServer aGServer, IRequestBuilder requestBuilder){_aGServer = aGServer;_requestBuilder = requestBuilder;}[HttpGet][Route("GetDataColumns/{datasource}")]public Task<string> GetDataColumns(string datasource){return Task.Run(() => _aGServer.GetDataColumns(datasource));}...}
- wwwroot: 前端文件
AgGridApi.Services 服务项目
定义接口及其实现类
- 在startup文件中完成注入
services.AddScoped<IAGServer, AGServer>();
. - 在消费类的构造函数中添加接口类IDemo作为参数
public AgGridController(IAGServer aGServer, IRequestBuilder requestBuilder)
, - .net core运行时作为一个容器, 在调用服务时自动注入AGServer实例
- IAGServer.cs 接口类
- AGServer.cs 结构实现类
AgGridApi.Models 实体项目
- 映射表格参数filterModels, sortModels…
AgGridApi.Common 辅助方法项目
- 生成表格列名
- 辅助函数
- 静态常量
DataFactory 数据库项目
- 使用ADO.Net调用存储过程, 获取数据.
Procedure 存储过程
- 示例文件: 参数及处理逻辑
Note
- Not use Entity Framework, based on ADO.Net + procedure
- ag-grid started
- ag-grid row model support function comparisons
- ag-grid grid features
ag-grid with web api相关推荐
- 【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)
注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. 3.3 Calling a Web API From a WPF Application ...
- YbSoftwareFactory 代码生成插件【八】:基于JQuery EasyUI、Web Api的 ASP.NET MVC 代码生成插件...
"YbRapidSolution for MVC"是 YbSoftwareFactory 最新的代码生成插件,可一键生成基于ASP.NET MVC的解决方案源代码.其生成的 Dem ...
- python处理era5_以ERA-5为例,从零开始手把手教你使用ECMWF Web API(python)
登录后查看更多精彩内容~ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 Masterpiece 于 2017-11-10 21:54 编辑 欧洲爸爸的interim网页由于某种原 ...
- Web Api学习一
接触WebApi读的第一篇文章: ASP.NET Web API(一):使用初探,GET和POST数据 实践过程中,用的Fiddler模拟Post请求时收到的对象总是为空null 解决:将文章中的内容 ...
- python 图表_Python入门学习系列——使用Python调用Web API实现图表统计
使用Python调用Web API实现图表统计 Web API:Web应用编程接口,用于URL请求特定信息的程序交互,请求的数据大多以非常易于处理的格式返回,比如JSON或CSV等. 本文将使用Pyt ...
- (四)Asp.net web api中的坑-【api的返回值】
(四)Asp.net web api中的坑-[api的返回值] 原文:(四)Asp.net web api中的坑-[api的返回值] void无返回值 IHttpActionResult HttpRe ...
- WCF 和 ASP.NET Web API
地址:https://docs.microsoft.com/zh-cn/dotnet/framework/wcf/wcf-and-aspnet-web-api WCF 是 Microsoft 为生成面 ...
- 【Web API系列教程】1.2 — Web API 2中的Action Results
前言 本节的主题是ASP.NET Web API怎样将控制器动作的返回值转换成HTTP的响应消息. Web API控制器动作能够返回下列的不论什么值: 1. void 2. HttpResponseM ...
- Dynamics CRM2016 Web API之创建记录
前篇介绍了通过primary key来查询记录,那query的知识点里面还有很多需要学习的,这个有待后面挖掘,本篇来简单介绍下用web api的创建记录. 直接上代码,这里的entity的属性我列了几 ...
最新文章
- c语言printf 空格,在打印输出前面添加空格,如在C中[printf(%2i)]
- 计算机编辑功能在哪,注册表编辑器怎么打开-电脑的剪切板在哪里 电脑剪切板里面的内容怎么修改...
- 使用RHEL5做NTP服务器出错解决
- android webview控件的缩放问题 隐藏缩放控件
- 源码安装nginx以及平滑升级
- 使用JavaScript进行数组去重——一种高效的算法
- python统计词频_python统计词频
- vscode安装vetur不高亮解决
- 【讨论帖】你认为怎么注释是比较合理妥当的方式
- 重庆钢铁泛微oa系统服务器更新时间,泛微全新OA系统-协同办公系统
- C++if语句进行分段函数计算
- C语言逻辑运算符,位运算符总结
- 2020认证杯第二阶段选提建议
- 高德地图导航,不显示地图只有语音
- 一亩茶园:传颂茶的不朽篇章
- php 公众号 模板消息id如何获取_微信公众号后台模板消息如何实现发送的功能...
- 加州欧文计算机工程专业,加州大学欧文分校计算机工程排名第29(2020年TFE美国排名)...
- 对于学it的来说,软考的高级证书难考吗,难度大吗?
- Git最佳实践(init、config、status、add、commit、diff、push) 1.0v
- 文化出海:承道艺术馆携清代老普洱藏茶「雅贡臻品」参展台北HiFi++“美私奢玩”
热门文章
- flask---》url_for 模板语法 内置过滤器 url_map
- windows清理_Windows清理C盘的常用方法
- 视易服务器系统装,windows2000视易星云点歌数据服务器安装方法和步骤.docx
- 阿里云,华为云哪个更好?
- 华为C8815 ROOT 成功
- SSL中等强度密码套件(SWEET32);SSL 64位块大小密码套件支持(SWEET32)
- Docker容器化技术笔记
- Linux下C语言串口应用编程
- 【Unity】创建一个自己的可交互AR安卓程序
- vscode在html看到图片的插件_利用花瓣插件 下载高清大图