加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flexigrid系列使用教程(一)前台代码及参数说明

发布时间:2020-12-15 04:19:32 所属栏目:百科 来源:网络整理
导读:Flexigrid系列使用教程(一)前台代码及参数说明 本教程从零开始介绍Flexigrid的使用方法,记录了作者学习中的点点滴滴,实例主要是在.net mvc框架下实现的,废话不多说了,先看一下Flexigrid的效果图吧。 ?一、首先简单介绍一下flexigrid: 1、主要特性: F
Flexigrid系列使用教程(一)前台代码及参数说明

本教程从零开始介绍Flexigrid的使用方法,记录了作者学习中的点点滴滴,实例主要是在.net mvc框架下实现的,废话不多说了,先看一下Flexigrid的效果图吧。

?一、首先简单介绍一下flexigrid:

1、主要特性:

Flexigrid是Jquery家族中table类或grid类的一员,主要特性如下:

* 列可伸缩
*?高度可调整
*?可按照表头排序
*?很酷的外观风格
*?能够转换一个普通的表格
*?可以连接到一个ajax方式的数据源(仅是xml格式)
*?分页功能
*?显示/隐藏 列
*?提供可供外部访问的API
* 更多更多

Google group 上的介绍:轻量级但功能丰富的data grid插件,支持列伸缩和排序功能,可采用ajax的方式连接到一个xml的数据源来获取所需数据,和Ext Grid非常相似,但它是纯jquery的,这使得它更加小巧,并遵循jquery插件一贯的少量配置特性

2.如何获取flexigrid?
既然官网已经无法访问,那就去其他途经吧,在上面提到的jquery站点和Google group站点都可以找到下载链接,如果仍然无法搞定,那么pm我吧:)
3.我想观看一下Demo先
嗯,不错的习惯,毕竟同类插件已经挺多的了,也不乏jqgrid这样的强悍者,还是货比三家先吧。Google group上提供的各个后台语言版本的Demo:
php?版本的?by Kevin Kietel:?http://sanderkorvemaker.nl/test/flexigrid/?
CodeIgniter?
版本的?by Armorfist:?http://flexigrid.eyeviewdesign.com/?
ASP?
版本的?by Synergiq:?http://jamesowers.co.uk/asp-tutorials/57/flexigrid-with-asp/?
Ruby on Rails?
版本的 by Nick Fessel:?http://www.nickfessel.com/index.php?post=17

二、具体使用方法

?????? 简单说明:使用时首先需要引用jquery.js和flexigrid.js两个Js库,因为是Jquery插件所以Jquery库是不可少的。

下面是一个完整的代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Dialog.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<Kwstu.Model.DESYS_STANDEVICE>>" %>

?

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

??????? <script type="text/javascript">

??????????? $(document).ready(function () {

??????????????? //重新定义表格大小,使flexigrid随浏览器大小改变而改变

??????????????? $(window).resize(function () {

??????????????????? var w = $("#content_right").width() - 20;

???????? ???????????var gh = $("#content_right").height() - 86;

??????????????????? $("#grdProList").flexResize(w,gh);

??????????????? });

??????????????? //定义高度和宽带,此处是根据本页面的模板来的

??????????????? var maiheight = document.documentElement.clientHeight;

????????????? ??var w = $("#content_right").width() - 20;

??????????????? var gh = $("#content_right").height() - 86;

??????????????? var grid = $("#grdProList").flexigrid

????????? ({

????????????? url: '/BDeviceApply/GetSysSdandeviceFlex',//获取数据的方法

????????????? dataType: 'json',

????????????? colModel: [

?????????????????? { display: '列1标题',name: '字段1',sortable: true,width: 150,align: 'center' },

?????????????????? { display: '列1标题',name: '字段2',width: 80,

?????????????????? { display: 列1标题',name: '字段3',name: '字段4',align: 'center' }

????????????????? ],

????????????? ShowToggleCol: true,

????????????? singleSelect: true,

????????????? sortname: 'ID',

????????????? sortorder: 'DESC',

????????????? usepager: true,

????????????? striped: true,

????????????? title: '设备标准库信息列表',

????????????? useRp: true,

????????????? rp: 20,

????????????? rpOptions: [10,20,40,100],

?? ???????????usepager: true,

????????????? showTableToggleBtn: true,

????????????? showcheckbox: true,

????????????? width: w,

????????????? height: gh,

????????????? pagestat: '显示{from} 到 {to}, 共2 {total} 条',

????????????? procmsg: '请等待数据正在加载中…',

????????? ????nomsg: '没有数据',

????????????? onError: '查询出错请刷新'

????????? });

??????????? });

??? </script>

??? <table id="grdProList" style="display: none;">

??? </table>

</asp:Content>

?

<asp:Content ID="Content2" ContentPlaceHolderID="menutop" runat="server">

</asp:Content>

?

<asp:Content ID="Content3" ContentPlaceHolderID="menubottem" runat="server">

</asp:Content>

以上是在.NET MVC项目中的代码,不同技术下的获取数据的方法可能不能,具体方法代码后面介绍,以上就是一个很简单的没有数据源的flexigrid的小实例。

三、flexigrid详细参数介绍

1、flexigrid参数说明:
??? height: 200,//flexigrid插件的高度,单位为px
??? width: 'auto',//宽度值,auto表示根据每列的宽度自动计算,在IE6下建议设置具体值否则会有问题

??? striped: true,//是否显示斑纹效果,默认是奇偶交互的形式
??? novstripe: false,//没用过这个属性
??? minwidth: 30,//列的最小宽度
??? minheight: 80,//列的最小高度
??? resizable: false,//resizable table是否可伸缩
??? url: false,//ajax url,ajax方式对应的url地址
??? method: 'POST',// data sending method,数据发送方式
??? dataType: 'json',// type of data loaded,数据加载的类型,xml,json
??? errormsg: '发生错误',//错误提升信息

??? usepager: false,//是否分页
??? nowrap: true,//是否不换行
??? page: 1,//current page,默认当前页
??? total: 1,//total pages,总页面数
??? useRp: true,//use the results per page select box,是否可以动态设置每页显示的结果数
??? rp: 25,// results per page,每页默认的结果数
??? rpOptions: [10,15,25,//可选择设定的每页结果数
??? title: false,//是否包含标题
??? pagestat: '显示记录从{from}到{to},总数 {total} 条',//显示当前页和总页面的样式
??? procmsg: '正在处理数据,请稍候 ...',//正在处理的提示信息
??? query: '',//搜索查询的条件
??? qtype: '',//搜索查询的类别
??? qop: "Eq",//搜索的操作符
??? nomsg: '没有符合条件的记录存在',//无结果的提示信息
??? minColToggle: 1,//允许显示的最小列数
??? showToggleBtn: true,//是否允许显示隐藏列,该属性有bug设置成false点击头脚本报错。
??? hideOnSubmit: true,//是否在回调时显示遮盖
??? showTableToggleBtn: false,//是否显示【显示隐藏Grid】的按钮
??? autoload: true,//自动加载,即第一次发起ajax请求
??? blockOpacity: 0.5,//透明度设置
??? onToggleCol: false,//当在行之间转换时,可在此方法中重写默认实现,基本无用
??? onChangeSort: false,//当改变排序时,可在此方法中重写默认实现,自行实现客户端排序
??? onSuccess: false,//成功后执行
??? onSubmit: false,//?调用自定义的计算函数,基本没用??????
??? //Style
??? gridClass: "bbit-grid"//样式
?????????
},p);
----------------------------------------------------------------------------------------------
2、支持ajax跨域:

??? url中加callback=?
??? 后台获得callback函数的名字

????返回json数据格式为:print(callbackName+"("+jsonString+")");
----------------------------------------------------------------------------------------------
3、Flexigrid(HUGO.CM修改版v1.1)使用说明:

??? 1、加载flexigrid。p:选项参数集合
??? ??? $(“”).flexigrid(p);
??? 2
、重新加载数据。
??? ??? $(“”).flexReload(p);
??? 3
、更改flexigrid参数。P:选项参数集合
??? ??? $(“”).flexOptions (p);
??? 4
、隐藏/显示列。cid:列索引,visible:bool
??? ??? $(“”).flexToggleCol (cid,visible);
??? 5、绑定数据。Data:数据源

??? ??? $(“”).flexAddData (data);
??? 6
、no select plugin by me 。不知道做什么用的
??? ??? $(“”).noSelect (p);
??? 7
、重新指定宽度和高度。
??? ??? $(“”).flexResize(w,h);
??? 8
、翻页。type:first、prev、next、last、input
??? ??? $(“”).changePage(type);
----------------------------------------------------------------------------------------------
4、Flexigrid——colModel:

????属性名??? 类型??? 描述
??? display??? string????显示的列名
??? name??? string????绑定的列名
??? sortable bool????是否可以排序
??? align??? string????对其方式
??? width??? int????列的宽度
??? hide??? bool????是否隐藏该列
??? pk??? bool????是否为主键标识、如果是则隐藏该列,值存入隐藏域中
??? process??? function???
??? customValue function????
自定义显示值。(如性别:数据库为Bit类型,通过customValue方法返回“男/女”)参数:value,i
----------------------------------------------------------------------------------------------
5、Flexigrid——事件

????事件名??? ??? 参数??? ??? ??? ??? ??? 描述??? ??? ??? 返回值
??? onDragCol??? dcoln,dcolt??? ??? ??? ????拖动列后触发 ??? ??? 无
??? onToggleCol??? cid,visible??? ??? ??? ????隐藏/显示列后触发??? 无
??? onChangeSort??? sortname,sortorder??? ??? ????自定义排序事件??? ??? 无
??? onChangePage??? newp??? ??? ??? ??? ????自定义翻页事件??? ??? 无
??? onSuccess????无??? ??? ??? ??? ??? 数据获取成功时触发??? 无
??? onError??? ??? XMLHttpRequest,textStatus,errorThrown???出现错误时触发??? ??? 无
??? onSubmit????无??? ??? ??? ??? ??? 在获取数据前时触发??? bool
??? onRowSelect??? this??? ??? ??? ??? ??? 行选中事件??? ??? 无

----------------------------------------------------------------------------------------------
6
、Flexigrid——buttons
????属性名??? ??? 类型??? ??? 描述
??? name??? ??? string??? ????按钮名称
??? bgclass??? ??? string??? ????样式
??? onpress??? ??? function????点击触发的方法
??? separator??? bool??? ????分割线
----------------------------------------------------------------------------------------------
7
、Flexigrid——searchitems
????属性名??? ??? 类型??? ??? 描述
??? display??? ??? string??? ????搜索类型下拉列表框:显示的列名
??? name??? ??? string??? ????搜索类型下拉列表框:绑定的列名
??? isdefault??? bool??? ????是否为默认搜索类型
??? //注:如果searchitems:true,则自动根据所有字段生成下拉列表框


出处:http://zhwlsoft.blog.163.com/blog/static/176371202201239103635250/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读