当前位置:   article > 正文

JQuery Datagrid 数据网格_func jqgrid 网格

func jqgrid 网格

**

Datagrid 数据网格

原文链接

扩展自 $.fn.panel.defaults。通过 $.fn.datagrid.defaults 重写默认的 defaults。
数据网格(datagrid)以表格格式显示数据,并为选择、排序、分组和编辑数据提供了丰富的支持。数据网格(datagrid)的设计目的是为了减少开发时间,且不要求开发人员具备指定的知识。它是轻量级的,但是功能丰富。它的特性包括单元格合并,多列页眉,冻结列和页脚,等等。
在这里插入图片描述

依赖

  • panel
  • resizable
  • linkbutton
  • pagination

用法

从已有的表格元素创建数据网格(datagrid),在 html 中定义列、行及数据。

使用 javascript 创建数据网格(datagrid)。

<table id="dg"></table>
  • 1
$('#dg').datagrid({
    url:'datagrid_data.json',
    columns:[[
        {field:'code',title:'Code',width:100},
        {field:'name',title:'Name',width:100},
        {field:'price',title:'Price',width:100,align:'right'}
    ]]
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

通过一些参数查询数据。

$('#dg').datagrid('load', {
    name: 'easyui',
    address: 'ho'
});
  • 1
  • 2
  • 3
  • 4

在向服务器改变数据之后,更新前台数据。

$('#dg').datagrid('reload');    // reload the current page data
  • 1

数据网格(DataGrid)属性

该属性扩展自面板(panel),下面是为数据网格(datagrid)添加的属性。

名称类型描述默认值
columnsarray数据网格(datagrid)的列(column)的配置对象,更多细节请参见列(column)属性。undefined
frozenColumnsarray和列(column)属性一样,但是这些列将被冻结在左边。undefined
fitColumnsboolean设置为 true,则会自动扩大或缩小列的尺寸以适应网格的宽度并且防止水平滚动。false
resizeHandlestring调整列的位置,可用的值有:‘left’、‘right’、‘both’。当设置为 ‘right’ 时,用户可通过拖拽列头部的右边缘来调整right
autoRowHeightboolean定义是否设置基于该行内容的行高度。设置为 false,则可以提高加载性能。true
toolbararray,selector数据网格(datagrid)面板的头部工具栏。可能的值:1、数组,每个工具选项与链接按钮(linkbutton)一样。2、选择器,只是工具栏。null
stripedboolean设置为 true,则把行条纹化。(即奇偶行使用不同背景色)false
methodstring请求远程数据的方法(method)类型post
nowrapboolean设置为 true,则把数据显示在一行里。设置为 true 可提高加载性能。true
idFieldstring指示哪个字段是标识字段。null
urlstring从远程站点请求数据的 URL。null
dataarray,object要加载的数据。该属性自版本 1.3.2 起可用。null
loadMsgstring当从远程站点加载数据时,显示的提示消息。Processing, please wait …
paginationboolean设置为 true,则在数据网格(datagrid)底部显示分页工具栏。false
rownumbersboolean设置为 true,则显示带有行号的列。false
singleSelectboolean设置为 true,则只允许选中一行。false
checkOnSelectboolean如果设置为 true,当用户点击某一行时,则会选中/取消选中复选框。如果设置为 false 时,只有当用户点击了复选框时,才会选中/取消选中复选框true
pagePositionstring定义分页栏的位置。可用的值有:‘top’、‘bottom’、‘both’bottom
pageNumbernumber当设置了 pagination 属性时,初始化页码。1
pageSizenumber当设置了 pagination 属性时,初始化页面尺寸。10
pageListarray当设置了 pagination 属性时,初始化页面尺寸的选择列表。[10,20,30,40,50]
queryParamsobject当请求远程数据时,发送的额外参数。{}
sortNamestring定义可以排序的列null
sortOrderstring定义列的排序顺序,只能用 ‘asc’ 或 ‘desc’。asc
multiSortboolean定义是否启用多列排序。该属性自版本 1.3.4 起可用。false
remoteSortboolean定义是否从服务器排序数据。true
showHeaderboolean定义是否显示行的头部。true
showFooterboolean定义是否显示行的底部false
scrollbarSizenumber滚动条宽度(当滚动条是垂直的时候)或者滚动条的高度(当滚动条是水平的时候)。18
rowStylerfunction返回例如 ‘background:red’ 的样式。该函数需要两个参数:rowIndex:行的索引,从 0 开始。rowData:该行相应的记录。
loaderfunction定义如何从远程服务器加载数据。返回 false 则取消该动作。该函数有下列参数:param:要传递到远程服务器的参数对象。success(data):当检索数据成功时调用的回调函数。error():当检索数据失败时调用的回调函数。json loader
loadFilterfunction返回要显示的过滤数据。该函数有一个参数 ‘data’ ,表示原始数据。您可以把原始数据变成标准数据格式。该函数必须返回标准数据对象,含有 ‘total’ 和 ‘rows’ 属性。
editorsobject定义编辑行时的编辑器。predefined editors
viewobject定义数据网格(datagrid)的视图。default view

列(Column)属性

数据网格(DataGrid) 的列(Column)是一个数组对象,它的每个元素也是一个数组。元素数组的元素是一个配置对象,它定义了每个列的字段。
代码实例:

columns:[[
    {field:'itemid',title:'Item ID',rowspan:2,width:80,sortable:true},
    {field:'productid',title:'Product ID',rowspan:2,width:80,sortable:true},
    {title:'Item Details',colspan:4}
],[
    {field:'listprice',title:'List Price',width:80,align:'right',sortable:true},
    {field:'unitcost',title:'Unit Cost',width:80,align:'right',sortable:true},
    {field:'attr1',title:'Attribute',width:100},
    {field:'status',title:'Status',width:60}
]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
名称类型描述默认值
titlestring列的标题文本。undefined
fieldstring列的字段名。undefined
widthnumber列的宽度。如果未定义,则宽度会自动扩展以适应它的内容。没有定义宽度将会降低性能。undefined
rowspannumber指示一个单元格占据多少行。undefined
colspannumber指示一个单元格占据多少列。undefined
alignstring指示如何对齐该列的数据,可以用 ‘left’、‘right’、‘center’。undefined
halignstring指示如何对齐该列的头部,可能的值:‘left’、‘right’、‘center’。如果没有分配值,则头部对齐方式将与通过 ‘align’ 属性定义的数据对齐方式一致。该属性自版本 1.3.2 起可用。undefined
sortableboolean设置为 true,则允许该列被排序。undefined
orderstring默认的排序顺序,只能用 ‘asc’ 或 ‘desc’。该属性自版本 1.3.2 起可用。undefined
resizableboolean设置为 true,则允许该列可调整尺寸。undefined
fixedboolean设置为 true,则当 ‘fitColumns’ 设置为 true 时放置调整宽度。undefined
hiddenboolean设置为 true,则隐藏该列。undefined
checkboxboolean设置为 true,则显示复选框。复选框有固定宽度。undefined
formatterfunction单元格的格式化函数,需要三个参数:value:字段的值。rowData:行的记录数据。rowIndex:行的索引。undefined
stylerfunction单元格的样式函数,返回样式字符串来自定义该单元格的样式,例如 ‘background:red’ 。该函数需要三个参数:value:字段的值。rowData:行的记录数据。rowIndex:行的索引。undefined
sorterfunction用于本地排序的自定义字段的排序函数,需要两个参数:a:第一个字段值。b:第二个字段值。undefined
editorstring,object指示编辑类型。当是字符串(string)时则指编辑类型,当是对象(object)时则包含两个属性:type:字符串,编辑类型,可能的类型:text、textarea、checkbox、numberbox、validatebox、datebox、combobox、combotree。options:对象,编辑类型对应的编辑器选项。undefined

编辑器(Editor)

通过 $.fn.datagrid.defaults.editors 重写默认的 defaults。
每个编辑器有下列行为:

名称参数描述
initcontainer, options初始化编辑器并且返回目标对象。
destroytarget如果必要就销毁编辑器。
getValuetarget从编辑器的文本获取值。
setValuetarget , value给编辑器设置值。
resizetarget , width如果必要就调整编辑器的尺寸。

例如,文本编辑器(text editor)定义如下:

$.extend($.fn.datagrid.defaults.editors, {
    text: {
        init: function(container, options){
            var input = $('<input type="text" class="datagrid-editable-input">').appendTo(container);
            return input;
        },
        destroy: function(target){
            $(target).remove();
        },
        getValue: function(target){
            return $(target).val();
        },
        setValue: function(target, value){
            $(target).val(value);
        },
        resize: function(target, width){
            $(target)._outerWidth(width);
        }
    }
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

数据网格视图(DataGrid View)

通过 $.fn.datagrid.defaults.view 重写默认的 defaults。
视图(view)是一个对象,它告诉数据网格(datagrid)如何呈现行。该对象必须定义下列函数:

名称参数描述
rendertarget, container, frozen当数据加载时调用。target:DOM 对象,数据网格(datagrid)对象。container:行的容器。frozen:指示是否呈现冻结容器
renderFootertarget, container, frozen这是呈现行脚的选项函数。
renderRowtarget, fields, frozen, rowIndex, rowData这是将会被 render 函数调用的选项函数。
refreshRowtarget, rowIndex定义如何刷新指定的行。
onBeforeRendertarget, rows视图被呈现前触发。
onAfterRendertarget视图被呈现后触发。

事件

该事件扩展自面板(panel),下面是为数据网格(datagrid)添加的事件。

未完待续

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/574085
推荐阅读
相关标签
  

闽ICP备14008679号