jTable

API-常规选项

2017-04-11  本文已影响61人  YoungDreamer

General options(常规选项)

如何设置常规选项

  1. 设置列是否可以调整宽度:
<script type="text/javascript">
    $(document).ready(function () {         
       $('#MyTableContainer').jtable({
            columnResizable: false; //disable column resizing
            //other options...
        });     
    });
</script>
  1. 如果想要禁用整个表格的列调整,可以这样设置:
<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参数包含一些控制确认处理过程的属性:

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”输入框。有以下选项:

<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

此选项用于选择页面列表类型。可选值:

<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...
        }
    }]
}

icontextclick是可选的。但是必须定义‘icon’和‘text’其中一个,否则jTable不会显示这个项。在click函数中,你可以写自定义javascript脚本。

你可以为工具栏项添加一些附加的选项:

<a id="unAuthorizedRequestRedirectUrl"></a>

unAuthorizedRequestRedirectUrl string default: none

当ajax请求到服务器,返回UnAuthorizedRequest = true或者HTTP状态码是401的时候,跳转页面的一个地址。如果这个选项没有设置,jTable会刷新这个页面。

上一篇 下一篇

猜你喜欢

热点阅读