@(Html.DevExtreme().DataGrid()
.ID("gridContainer")
.DataSource(d => d
.OData()
.Url("https://js.devexpress.com/Demos/SalesViewer/odata/DaySaleDtoes")
.BeforeSend(@<text>
function(request) {
request.params.startDate = "2018-05-10";
request.params.endDate = "2018-05-15";
}
</text>)
)
.RemoteOperations(false)
.AllowColumnReordering(true)
.RowAlternationEnabled(true)
.ShowBorders(true)
.OnContentReady("contentReady")
.Paging(p => p.PageSize(10))
.Pager(p => p
.ShowPageSizeSelector(true)
.AllowedPageSizes(new int[] {10, 25, 50, 100})
)
.SearchPanel(s => s
.Visible(true)
.HighlightCaseSensitive(true)
)
.GroupPanel(g => g.Visible(true))
.Grouping(g => g.AutoExpandAll(false))
.Columns(columns => {
columns.Add()
.DataField("Product")
.GroupIndex(0);

columns.Add()
.DataField("Amount")
.Caption("Sale Amount")
.DataType(GridColumnDataType.Number)
.Format(Format.Currency)
.Alignment(HorizontalAlignment.Right);

columns.Add()
.DataField("Discount")
.Caption("Discount %")
.DataType(GridColumnDataType.Number)
.Format(Format.Percent)
.Alignment(HorizontalAlignment.Right)
.AllowGrouping(false)
.CssClass("bullet")
.CellTemplate(@<text>
@(Html.DevExtreme().Bullet()
.Value(new JS("value * 100"))
.Size(s => s
.Height(35)
.Width(150)
)
.Margin(m => m
.Top(5)
.Bottom(0)
.Left(5)
)
.ShowTarget(false)
.ShowZeroLevel(true)
.StartScaleValue(0)
.EndScaleValue(100)
.Tooltip(t => t
.Enabled(true)
.Font(f => f.Size(18))
.PaddingTopBottom(2)
.CustomizeTooltip("customizeTooltip")
)
)
</text>);

columns.Add()
.DataField("SaleDate")
.DataType(GridColumnDataType.Date);

columns.Add()
.DataField("Region")
.DataType(GridColumnDataType.String);

columns.Add()
.DataField("Sector")
.DataType(GridColumnDataType.String);

columns.Add()
.DataField("Channel")
.DataType(GridColumnDataType.String);

columns.Add()
.DataField("Customer")
.DataType(GridColumnDataType.String)
.Width(150);
})
)

<script>
var collapsed = false;
function contentReady(e) {
if(!collapsed) {
collapsed = true;
e.component.expandRow(["EnviroCare"]);
}
}

function customizeTooltip(pointsInfo) {
return { text: parseInt(pointsInfo.originalValue) + "%" };
}
</script>

DevExtreme学习笔记(一) DataGrid中MVC分析的更多相关文章

  1. DevExtreme学习笔记(一) DataGrid中js分析

    1.overviewjs采用 $(function() { $("#gridContainer").dxDataGrid({ dataSource: { store: { type ...

  2. DevExtreme学习笔记(一) DataGrid中数据提交注意事项

    1.数据提交的{}数据需转化json格式 syncPost('/controller/action', { values: JSON.stringify({d:x}) }, function (res ...

  3. DevExtreme学习笔记(一) DataGrid中数据筛选

    config.filterRow = { visible: true, applyFilter: "auto" }; config.headerFilter = { visible ...

  4. DevExtreme学习笔记(一) DataGrid中注意事项

    1.阻止cell编辑 config.onEditorPreparing = function (e) { if (e.dataField === 'xx' && e.row.data. ...

  5. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

  6. memcached学习笔记——存储命令源码分析下篇

    上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...

  7. memcached学习笔记——存储命令源码分析上篇

    原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command ...

  8. input子系统学习笔记六 按键驱动实例分析下【转】

    转自:http://blog.chinaunix.net/uid-20776117-id-3212095.html 本文接着input子系统学习笔记五 按键驱动实例分析上接续分析这个按键驱动实例! i ...

  9. angular学习笔记(3)- MVC

    angular1学习笔记(3)- MVC --- MVC终极目标 - 模块化和复用 AngularJs的MVC是借助于$scope实现的!!! 神奇的$scope: 1.$scope是一个POJO(P ...

随机推荐

  1. Tcl条件语句

    If {条件表达式1} { 执行语句1 } elseif {条件表达式2} { 执行语句2 } elseif {条件表达式3} { 执行语句3 } else { 执行语句4 } 注:elseif {条 ...

  2. Linux 磁盘格式化、检验、挂载

    分区完毕之后自然要进行文件系统的格式化.格式化命令mkfs(make file system)这个命令.这是个综合命令,它会去调用正确的文件系统格式化工具软件. 磁盘格式化 mkfs mke2fs m ...

  3. 从0开始部署GPU集群-0:基本情况

    配置信息(多台服务器) 1 硬件:CPU和GPU*可选 2 操作系统:centos7 3 驱动:nvidia显卡驱动  *可选 4 容器运行时:docker 和 nvidia container ru ...

  4. Fiddler导出JMX文件配置

    (1)安装fiddler jmeter(免安装) 注意事项!fiddler版本必须在v4.6.2以上(插件支持的是4.6版本), jmeter版本最好在v3.0以上,版本太低容易导致导出不成功 这里我 ...

  5. 工具系列 | 使用Lodop进行WEB打印程序开发

    Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现 复杂打印.控件功能强大,却简单易用,所有调用如同JavaScript扩展语句. WEB套打可 ...

  6. ubuntu16.04 安装使用meld及问题

    本文链接:https://blog.csdn.net/ai_liuliu/article/details/95504095安装meldsudo apt-get install meld启动meld方法 ...

  7. 利用art.template模仿VUE 一次渲染多个模版

    TypeScript代码 import template = require('art-template/lib/template-web'); interface TemplateBindConfi ...

  8. linux进程守护脚本

    为了防止进程异常挂掉,为了避免影响业务,编写一个守护进程,定时检查某个进程是否存在,如果不存在则自动启动该进程.编写脚本文件daemon.sh文件 while true; do server=`ps ...

  9. 随便贴两个漏洞,如 Apache JServ协议服务

    1.Apache JServ协议服务 描述:Apache JServ协议(AJP)是一种二进制协议,可以将来自Web服务器的入站请求代理到 位于Web服务器后面的应用程序服务器.不建议在互联网上公开使 ...

  10. Jmeter多业务混合场景如何设置各业务所占并发比例

    在进行多业务混合场景测试中,需要分配每个场景占比. 具体有两种方式: 1.多线程组方式: 2.逻辑控制器控制: 第一种: jmeter一个测试计划可以添加多个线程组,我们把不同的业务放在不同的线程组中 ...