依赖
panel
resizable
linkbutton
pagination
用法
<table id="tt"></table>
$('#tt').datagrid({
url:'datagrid_data.json',
columns:[[
{field:'code',title:'Code',width:100},
{field:'name',title:'Name',
{field:'price',title:'Price',width:100,align:'right'}
]]
});
数据表格(DataGrid)的特性
其特性扩展自 panel,下列是为 datagrid 增加的特性。
类型 |
说明 |
默认值 | |
columns |
array |
datagrid 的column 的配置对象,更多详细请参见 column 的特性。 |
null |
frozenColumns |
array |
和列的特性一样,但是这些列将被冻结在左边。 |
null |
fitColumns |
boolean |
True 就会自动扩大或缩小列的尺寸以适应表格的宽度并且防止水平滚动。false | |
striped |
boolean |
True 就把行条纹化。(即奇偶行使用不同背景色) |
false |
method |
string |
请求远程数据的 method 类型。post | |
Nowrap |
True 就会把数据显示在一行里。 |
true | |
idField |
string |
标识字段。null | |
url |
string |
从远程站点请求数据的 URL。null | |
loadMsg |
string |
||
pagination |
|||
rownumbers |
True 就会显示行号的列。false | ||
singleSelect |
True 就会只允许选中一行。false | ||
pageNumber |
number |
当设置了pagination 特性时,初始化页码。1 | |
pageSize |
特性时,初始化页码尺寸。10 | ||
array |
当设置了 特性时,初始化页面尺寸的选择列表。[10,20,30,40,50] | ||
queryParams |
object |
当请求远程数据时,发送的额外参数。{} | |
sortName |
string |
定义可以排序的列。null | |
sortOrder |
string |
定义列的排序顺序,只能用'asc' 或 'desc'。asc | |
remoteSort |
boolean |
定义是否从服务器给数据排序。true | |
showFooter |
boolean |
定义是否显示一行页脚。false | |
rowStyler |
function |
返回例如 'background:red' 的样式,该函数需要两个参数: | |
loadFilter |
function |
返回过滤的数据去显示。这个函数需要一个参数'data' ,表示原始数据。 你可以把原始数据变成标准数据格式,此函数必须返回标准数据对象,含有'total' 和 'rows' 特性。 | |
editors |
object |
定义编辑行时的editor 。 |
预定义的 editor |
view |
object |
定义datagrid 的 view 。 |
默认的 view |
DataGrid 的 Column 是一个数组对象,它的每个元素也是一个数组。数组元素的元素是一个配置对象,它定义了每个列的字段。
代码示例:
columns:[[
{field:'itemid',title:'Item ID',rowspan:2,width:80,sortable:true},
{field:'productid',title:'Product ID',
{title:'Item Details',colspan:4}
],[
{field:'listprice',title:'List Price',align:'right',
{field:'unitcost',title:'Unit Cost',
{field:'attr1',title:'Attribute',
{field:'status',title:'Status',width:60}
]]
类型 |
说明title |
string |
||
field |
string |
列的字段名。undefined | ||
width |
number |
列的宽度。undefined | ||
rowspan |
number |
指一个单元格占据多少行。undefined | ||
colspan |
number |
指一个单元格占据多少列。undefined | ||
align |
string |
指如何对齐此列的数据,可以用'left'、'right'、'center'。undefined | ||
sortable |
True 就允许此列被排序。undefined | |||
resizable |
True 就允许此列被调整尺寸。undefined | |||
hidden |
True 就隐藏此列。undefined | |||
checkBox |
||||
formatter |
function |
单元格的格式化函数,需要三个参数: | ||
styler |
function |
单元格的样式函数,返回样式字符串来自定义此单元格的样式,例如'background:red' 。此函数需要三个参数: | ||
sorter |
function |
|||
editor |
string,object |
指编辑类型。当是 string 时指编辑类型,当 object 时包含两个特性: text、textarea、checkBox、numberBox、validateBox、dateBox、comboBox、combotree。 |
用 $.fn.datagrid.defaults.editors 重写了 defaults。
每个编辑器有下列行为:
参数init |
container,options |
初始化编辑器并且返回目标对象。 | |
destroy |
target |
如果必要就销毁编辑器。 | |
getValue |
target |
从编辑器的文本返回值。 | |
setValue |
target,value |
给编辑器设置值。 | |
resize |
如果必要就调整编辑器的尺寸。 |
$.extend($.fn.datagrid.defaults.editors,{
text: {
init: function(container,options){
var input = $('<input type="text" class="datagrid-editable-input">').appendTo(container);
return input;
},
getValue: function(target){
return $(target).val();
},
setValue: function(target,value){
$(target).val(value);
},
resize: function(target,width){
var input = $(target);
if ($.BoxModel == true){
input.width(width - (input.outerWidth() - input.width()));
} else {
input.width(width);
}
}
}
});
数据表格视图(DataGrid View)
用 $.fn.datagrid.defaults.view 重写了 defaults。
view 是一个对象,它告诉 datagrid 如何呈现行。这个对象必须定义下列方法。
名称render |
当数据加载时调用。 |
这是呈现行脚选项的函数。 |
renderRow |
||
refreshRow |
定义如何刷新指定的行。 | |
onBeforeRender |
视图被呈现前触发。 | |
onAfterRender |
target |
视图被呈现后触发。 |
其事件扩展自 panel,下列是为 datagrid 增加的事件。
名称onLoadSuccess |
data |
当数据加载成功时触发。onLoadError |
none |
加载远程数据发生某些错误时触发。onBeforeLoad |
param |
发送加载数据的请求前触发,如果返回 false加载动作就会取消。 |
onClickRow |
rowIndex,rowData |
|||||
onDblClickRow |
||||||
onClickCell |
||||||
onDblClickCell |
||||||
onSortColumn |
sort,order |
|||||
onResizeColumn |
field,width |
当用户调整列的尺寸时触发。 | ||||
onSelect |
||||||
onUnselect |
||||||
onSelectAll |
rows |
当用户选中全部行时触发。 | ||||
onUnselectAll |
rows |
当用户取消选中全部行时触发。 | ||||
onBeforeEdit |
||||||
onAfterEdit |
当用户完成编辑一行时触发,参数包括: | |||||
onCancelEdit |
||||||
onHeaderContextMenu |
e,field |
当 的头部被右键单击时触发。 | ||||
onRowContextMenu |
当右键点击行时触发。 |
名称options |
none |
返回options 对象。 | |||||||
getPager |
pager 对象。 | ||||||||
getPanel |
none |
返回 panel 对象。getColumnFields |
frozen |
返回列的字段,如果frozen 设定为 true,冻结列的字段被返回。getColumnoption |
field |
返回指定列的选项。param |
调整尺寸和布局。 | ||
load |
param |
param |
重新加载行,就像 load 方法一样,但是保持在当前页。reloadFooter |
footer |
重新加载脚部的行。loading |
none |
显示正在加载状态。 | ||
loaded |
none |
隐藏正在加载状态。none |
使列自动展开/折叠以适应 datagrid 的宽度。fixColumnSize |
none |
固定列的尺寸。fixRowHeight |
index |
固定指定行的高度。loadData |
data |
加载本地数据,旧的行会被移除。 |
getData |
none |
返回加载的数据。getRows |
none |
返回当前页的行。 | |||||
getFooterRows |
none |
返回脚部的行。 | |||||||
getRowIndex |
row |
||||||||
getSelected |
none |
返回第一个选中的行或者 null。 | |||||||
getSelections |
none |
返回所有选中的行,当没有选中的记录时,将返回空数组。 | |||||||
clearSelections |
none |
清除所有的选择。 | |||||||
selectAll |
none |
选中当前页所有的行。 | |||||||
unselectAll |
none |
取消选中当前页所有的行。 | |||||||
selectRow |
index |
选中一行,行索引从 | |||||||
selectRecord |
idValue |
通过 id 的值做参数选中一行。 | |||||||
unselectRow |
index |
取消选中一行。 | |||||||
beginEdit |
index |
开始对一行进行编辑。 | |||||||
endEdit |
index |
结束对一行进行编辑。 | |||||||
cancelEdit |
index |
取消对一行进行编辑。 | |||||||
getEditors |
index |
获取指定行的编辑器们。每个编辑器有下列特性: | |||||||
getEditor |
options |
获取指定的编辑器, options 参数包含两个特性: | |||||||
index |
刷新一行。 | ||||||||
validateRow |
index |
验证指定的行,有效时返回 true。 | |||||||
updateRow |
param |
更新指定的行, param 参数包含下列特性: | |||||||
appendRow |
row |
追加一个新行。 | |||||||
insertRow |
param |
插入一个新行, param 参数包括下列特性: | |||||||
deleteRow |
index |
删除一行。 | |||||||
getChanges |
type |
获取最后一次提交以来更改的行,type 参数表示更改的行的类型,可能的值是:inserted、deleted、updated,等等。 当type 参数没有分配时,返回所有改变的行。 | |||||||
acceptChanges |
none |
提交自从被加载以来或最后一次调用acceptChanges以来所有更改的数据。 | |||||||
rejectChanges |
none |
回滚自从创建以来或最后一次调用 | |||||||
mergeCells |
options |
把一些单元格合并为一个单元格,options 参数包括下列特性: | |||||||
showColumn |
field |
显示指定的列。 | |||||||
hideColumn |
field |
隐藏指定的列。 |
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。