General options(常规选项)
- addRecordButton
- ajaxSettings
- animationsEnabled
- columnResizable
- columnSelectable
- defaultDateFormat
- defaultSorting
- deleteConfirmation
- dialogShowEffect
- dialogHideEffect
- gotoPageArea
- jqueryuiTheme
- loadingAnimationDelay
- messages
- multiselect
- multiSorting
- openChildAsAccordion
- paging
- pageList
- pageSize
- pageSizes
- pageSizeChangeArea
- saveUserPreferences
- selecting
- selectingCheckboxes
- selectOnRowClick
- showCloseButton
- sorting
- tableId
- title
- toolbar
- unAuthorizedRequestRedirectUrl
如何设置常规选项
- 设置列是否可以调整宽度:
<script type="text/javascript">
$(document).ready(function () {
$('#MyTableContainer').jtable({
columnResizable: false; //disable column resizing
//other options...
});
});
</script>
- 如果想要禁用整个表格的列调整,可以这样设置:
<script type="text/javascript">
$.hik.jtable.prototype.options.columnResizable = false;
</script>
常规选项列表
<a id="addRecordButton"></a>
addRecordButton jQuery object default: auto-generated link
是一个jquery对象(dom元素),可以用来代替默认的“+ add new record”链接。因此,可以设置页面上的任何一个元素来打开“添加新纪录弹框”。
<a id="ajaxSettings"></a>
ajaxSettings object
一个对象,定义了jTable中执行ajax请求的选项。前往$.ajax查看详细的选项。
默认值:
ajaxSettings: {
type: 'POST',
dataType: 'json'
}
这个选项覆盖了默认的ajaxSetting,如果只想改变类型,可以这样设置:
ajaxSettings: { type: 'GET' }
<a id="animationsEnabled"></a>
animationsEnabled boolean default: true
表示当用户CRUD的时候,jTable是否展示动画。
<a id="columnResizable"></a>
columnResizable boolean default: true
当用户拖拽列的时候是否允许jTable改变列的大小。
<a id="columnSelectable"></a>
columnSelectable boolean default: true
当用户右击表头的时候是否允许显示/隐藏数据。(当右击表头title时,会出现一个列表,可以勾选列名,用于隐藏展示列)
<a id="defaultDateFormat"></a>
defaultDateFormat string default: 'yy-mm-dd'
用来定义时间的格式。jQueryUI datepicker formats
<a id="defaultSorting"></a>
defaultSorting string default: none
表格默认的排序方式。可以是表中的任何一个字段。例如:想用Name来排序,可以这样设置 “Name ASC”或者“Name DESC”。
<a id="deleteConfirmation"></a>
deleteConfirmation boolean or function default: true
这个选项可以是bool值或者是一个function。假如是bool值,代表着当用户点击删除的时候是否展示确认框。
假如是一个function,它可以完全控制删除确认框的处理过程。必须是像下面的function一样。
deleteConfirmation: function(data) {
//...
}
data参数包含一些控制确认处理过程的属性:
- row:是一个删除当前行的jQuery选择器
- record:要删除当前行的数据。例如,你可以从中获取Name属性:data.record.Name。
- cancel:你可以设置 data.cancel 为true来取消删除进程(默认是false)。就是设置为true之后点击删除按钮没有反应,不在处理。
- cancelMessage:如果你取消了删除进程,可以设置这个属性向用户展示一个信息。如果不想展示任何信息就不需要设置。
- deleteConfirm:一个bool值,代表是否展示一个删除确认信息给用户(默认是true)。
-
deleteConfirmMessage:假如开启了确认提示,可以自定义确认信息。
假如你想展示一些附加的信息给用户,可以这样写:
deleteConfirmation: function(data) {
data.deleteConfirmMessage = 'Are you sure to delete person ' + data.record.Name + '?';
}
<a id="dialogShowEffect"></a>
dialogShowEffect string default: 'fade'
在打开jQueryUI对话框时要展示的效果。一些选项: 'blind', 'bounce', 'clip', 'drop', 'explode', 'fold', 'highlight', 'puff', 'pulsate', 'scale', 'shake', 'size', 'slide'。jQueryUI 文档。
<a id="dialogHideEffect"></a>
dialogHideEffect string default: 'fade'
当关闭对话框时要展示的效果。一些选项: 'blind', 'bounce', 'clip', 'drop', 'explode', 'fold', 'highlight', 'puff', 'pulsate', 'scale', 'shake', 'size', 'slide'。jQueryUI 文档。
<a id="gotoPageArea"></a>
gotoPageArea string default: 'combobox'
如果开启了分页,这个值决定了如何展示“go to page”输入框。有以下选项:
- combobox:展示一个下拉框,包含了所有的页,允许用户选择自己想要查看的页数。
- textbox:展示一个文本框,让用户自己输入页数。
- none:不展示“go to page”输入框。
<a id="jqueryuiTheme"></a>
jqueryuiTheme boolean default: false
jTable有自己的主题样式,可以直接使用。但是,你可能希望将jQueryUI的样式用在jTable上。所以,这个选项可以决定让jTable用jQueryUI的颜色和样式。在jTable初始化代码中设置jqueryuiTheme: true,并且在页面上包含所需的样式文件:
<!-- jQueryUI's css file -->
<link href="/Scripts/jqueryUi/themes/redmond/jquery-ui-1.10.1.custom.min.css")" rel="stylesheet" type="text/css" />
<!-- jTable's jQueryUi css file -->
<link href="/Scripts/jtable/themes/jqueryui/jtable_jqueryui.css")" rel="stylesheet" type="text/css" />
jQueryUI有着丰富的主题系统。 http://jqueryui.com/themeroller/
<a id="loadingAnimationDelay"></a>
loadingAnimationDelay int default: 500
jTable延迟‘loading...’动画一段时间,以允许ajax请求完成。如果没在指定时间内完成请求,那么将展示动画。这个选项定义了超时值(以毫秒为单位)。如果要禁用这个功能,设置为0即可。
<a id="messages"></a>
messages object
用于本地化jTable。详看localization
<a id="multiselect"></a>
multiselect boolean default: false
代表是否允许用户同时选择多个行。
<a id="multiSorting"></a>
multiSorting boolean default: false
代表是否允许用户根据多个列进行排序。如果设置为true,用户可以按住CTRL键执行多列排序。
假如用户选择了多列排序,jTable会发送这样的格式:‘Name DESC,BirthDay ASC’。更多信息查看listAction
<a id="openChildAsAccordion"></a>
openChildAsAccordion boolean default: false
如果此选项设置为true,则在打开子表时(手风琴样式),jTable会自动关闭其它打开的子表。
<a id="paging"></a>
paging boolean default: false
代表jTable是否开启分页。如果开启,jTable会发送额外的分页参数到服务器。更多信息查看listAction
<a id="pageList"></a>
pageList string default: 'normal' 但是默认好像是minimal
此选项用于选择页面列表类型。可选值:
- minimal:只显示第一页、上一页、下一页和最后一页。
- normal:除了minimal显示的,还会显示所有的页码。
<a id="pageSize"></a>
pageSize number default: 10
假如开启了分页,此值决定了一页包含多少条数据。这个选项可以不再初始化代码中指定,就像下面代码一样:
$('#MyTableContainer').jtable('option', 'pageSize', 20);
<a id="pageSizes"></a>
pageSizes array of numbers default: [10, 25, 50, 100, 250, 500]
假如开启了分页,这个选项决定了在页码选择下拉框中展示的数字。默认就是上面的那个,可以自己设置一个number array。
<a id="pageSizeChangeArea"></a>
pageSizeChangeArea boolean default: true
假如开启了分页,此值决定了pageSizes是否可见。
<a id="saveUserPreferences"></a>
saveUserPreferences boolean default: true
代表jTable是否 保存/加载 用户的偏好,例如列的宽度。保存/恢复偏好是由jTable生成的哈希值,所有的列名和总列数。所以,改变列也会改变保存的哈希值。
<a id="selecting"></a>
selecting boolean default: false
代表jTable是否允许用户在表格中选择行。
<a id="selectingCheckboxes"></a>
selectingCheckboxes boolean default: false
当开启了selecting,此值决定是否在每行显示一个checkbox。
<a id="selectOnRowClick"></a>
selectOnRowClick boolean default: true
代表jTable是否允许用户点击行的任何位置就可以选中当前行。设置为false,只能点击checkbox才可以选中行。
<a id="showCloseButton"></a>
showCloseButton boolean default: false
代表jTable是否为表格显示一个关闭按钮。当用户点击关闭按钮时,closeRequested事件会被触发。jTable内部使用此选项来关闭子表。
<a id="sorting"></a>
sorting boolean default: false
代表jTable是否允许对表格进行排序。
<a id="tableId"></a>
tableId string default: none
一个字符串,是这个表格的唯一标识。此值用于保存/恢复用户的偏好。如果设置了,会设置为表格的id属性。这个选项是可选的。
<a id="title"></a>
title string default: none
一个字符串,用来设置表格的标题。如果是没有设置,标题区域根本不会显示。
<a id="toolbar"></a>
toolbar object default: none
这个选项用来控制jTable的工具栏和子项。默认就只有一个“add new record”(这个是jTable自动添加的,如果设置了createAction)。通过这个选项,你可以添加自定义项。
默认值:
toolbar: {
hoverAnimation: true, //启用/禁用当鼠标悬浮到工具栏项的动画
hoverAnimationDuration: 60, //悬浮动画的持续时间
hoverAnimationEasing: undefined, //缓和悬浮动画。如果设置为undefined,则使用jQuery的默认动画(‘swing’)
items: [] //自定义工具栏项的数组
}
下面是一个简单的自定义工具栏:
toolbar: {
items: [{
icon: '/images/excel.png',
text: 'Export to Excel',
click: function () {
//perform your custom job...
}
},{
icon: '/images/pdf.png',
text: 'Export to Pdf',
click: function () {
//perform your custom job...
}
}]
}
icon,text,click是可选的。但是必须定义‘icon’和‘text’其中一个,否则jTable不会显示这个项。在click函数中,你可以写自定义javascript脚本。
你可以为工具栏项添加一些附加的选项:
- cssClass:为工具栏项添加自定义的css样式
- tooltip:为每个项添加一个tip。jTable会设置到‘title’属性上
<a id="unAuthorizedRequestRedirectUrl"></a>
unAuthorizedRequestRedirectUrl string default: none
当ajax请求到服务器,返回UnAuthorizedRequest = true或者HTTP状态码是401的时候,跳转页面的一个地址。如果这个选项没有设置,jTable会刷新这个页面。