当前位置: 首页 > news >正文

Flexigrid自定义显示数据列

近期在搞ExtJs,发现ExJs的Grid相当的强大,后来又搞Jquery时,就对原来的表格不怎么满意了,于是,花了点时间,从网上找了个Grid插件,这个插件功能是比较强大,什么行排序、筛选、分页都有,应该是能满足项目的需要。

但在深入研究时,却发现了两个问题。

1,Flexigrid不支持自定义数据列。

2,默认没有CheckBox列。

关于第一个问题,事情是这样的。

像ExtJs是先定义Store,Store中可以把所有Fields列出来,需要用到哪个,在下面的ColumnModel中声明就可以,这里可以自由组合排列,非常方便。

但Flexigrid就不行,经分析原因,是因为FlexGrid中返回的Json格式,根本就没有列名称这个字段,它只是按照顺序在界面上显示。

返回的字符串如下所示:

{"page":2,"rows":[{"cell":["66","dd"],"flexrowid":""},{"cell":["77","ee"],"flexrowid":""},{"cell":["88","sd"],"flexrowid":""},{"cell":["99","xc"],"flexrowid":""},{"cell":["10","xas"],"flexrowid":""}],"total":21}

在界面上定义显示字段时,这样定义:

                colModel: [
                                { display: 'Select', name: 'id', width: 40, sortable: true, align: 'center', checkbox: true },
                                { display: 'ID', name: 'Flexgrid_KeyID', width: 40, sortable: true, align: 'center' },
                                { display: 'Name', name: 'name', width: 40, sortable: true, align: 'left' },
                                { display: 'ISOAA', name: 'isoAA', width: 40, sortable: true, align: 'center' },
                                { display: 'ISOAA', name: 'isoAA', width: 40, sortable: true, align: 'center' },
                                { display: 'ISOAA', name: 'isoAA', width: 40, sortable: true, align: 'center' },
                                { display: 'Printable Name', name: 'printable_name', width: 120, sortable: true, align: 'left' },
                                { display: 'ISO3', name: 'iso3', width: 130, sortable: true, align: 'left', hide: false },
                                { display: 'Number Code', name: 'numcode', width: 80, sortable: true, align: 'right' }
                           ]
View Code

看到没,Name可以随便写。

效果如下:

这里就会出现一个问题,我后台的列表字段是相对固守的,假如我只需要显示中间的某些列,怎么办?

不过这个难不倒我,我想到了使用Tuple,代码这样写:

//自定义列 
var tupR = (from l in list
select Tuple.Create(l.CID, l.name, l.numcode,DateTime.Now)).ToList();

string json_str_tupR = WXFlexigridHelp.FlexigridTable<Tuple<int, string, string, DateTime>>(tupR, pageindex, total, rowIdName).ToJson();

再看效果,已变成下图所示:

是不是很爽呀。

至于第二个问题,我参考网址:http://tomorrow009.iteye.com/blog/891641

很容易实现需要的效果。

 

 

 

转载于:https://www.cnblogs.com/ushou/p/3412241.html

相关文章:

  • parseInt()
  • SQL SERVER 2000数据库置疑处理
  • 从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-4.Action Bar)...
  • [C#]手把手教你打造Socket的TCP通讯连接(一)
  • vue组件之间的传值
  • 『Python基础』第二节: Python简介及入门
  • 统一ID服务
  • 小小c#算法题 - 5 - 插入排序
  • 线程启动 [转]
  • PSP Skype 使用国内卡
  • php.ini 中文版[转]
  • 使用StyleCop进行代码审查
  • wcf服务代理层添加wcf服务异步代理
  • 检测是否支持position:fixed
  • [译]学习IPython进行交互式计算和数据可视化(三)
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • Angular4 模板式表单用法以及验证
  • Angularjs之国际化
  • angular组件开发
  • CSS居中完全指南——构建CSS居中决策树
  • echarts花样作死的坑
  • Js基础知识(一) - 变量
  • Laravel 实践之路: 数据库迁移与数据填充
  • vue-cli在webpack的配置文件探究
  • 从零搭建Koa2 Server
  • 当SetTimeout遇到了字符串
  • 动态规划入门(以爬楼梯为例)
  • 老板让我十分钟上手nx-admin
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 算法系列——算法入门之递归分而治之思想的实现
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 我这样减少了26.5M Java内存!
  • 写给高年级小学生看的《Bash 指南》
  • 中文输入法与React文本输入框的问题与解决方案
  • #QT项目实战(天气预报)
  • (2)(2.10) LTM telemetry
  • (26)4.7 字符函数和字符串函数
  • (39)STM32——FLASH闪存
  • (C语言)字符分类函数
  • (NSDate) 时间 (time )比较
  • (Python) SOAP Web Service (HTTP POST)
  • (分布式缓存)Redis哨兵
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (九)信息融合方式简介
  • (理论篇)httpmoudle和httphandler一览
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (转载)从 Java 代码到 Java 堆
  • ***测试-HTTP方法
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .net wcf memory gates checking failed
  • .net 后台导出excel ,word
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件