API-常规选项

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>

常规选项列表

addRecordButton jQuery object default: auto-generated link

是一个jquery对象(dom元素),可以用来代替默认的“+ add new record”链接。因此,可以设置页面上的任何一个元素来打开“添加新纪录弹框”。

ajaxSettings object

一个对象,定义了jTable中执行ajax请求的选项。前往$.ajax查看详细的选项。

默认值:

ajaxSettings: {
    type: 'POST',
    dataType: 'json'
}

这个选项覆盖了默认的ajaxSetting,如果只想改变类型,可以这样设置:

ajaxSettings: { type: 'GET' }

animationsEnabled boolean default: true

表示当用户CRUD的时候,jTable是否展示动画。

columnResizable boolean default: true

当用户拖拽列的时候是否允许jTable改变列的大小。

columnSelectable boolean default: true

当用户右击表头的时候是否允许显示/隐藏数据。(当右击表头title时,会出现一个列表,可以勾选列名,用于隐藏展示列)

defaultDateFormat string default: 'yy-mm-dd'

用来定义时间的格式。jQueryUI datepicker formats

defaultSorting string default: none

表格默认的排序方式。可以是表中的任何一个字段。例如:想用Name来排序,可以这样设置 “Name ASC”或者“Name DESC”。

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 + '?';
}

dialogShowEffect string default: 'fade'

在打开jQueryUI对话框时要展示的效果。一些选项: 'blind', 'bounce', 'clip', 'drop', 'explode', 'fold', 'highlight', 'puff', 'pulsate', 'scale', 'shake', 'size', 'slide'。jQueryUI 文档

dialogHideEffect string default: 'fade'

当关闭对话框时要展示的效果。一些选项: 'blind', 'bounce', 'clip', 'drop', 'explode', 'fold', 'highlight', 'puff', 'pulsate', 'scale', 'shake', 'size', 'slide'。jQueryUI 文档

gotoPageArea string default: 'combobox'

如果开启了分页,这个值决定了如何展示“go to page”输入框。有以下选项:

  • combobox:展示一个下拉框,包含了所有的页,允许用户选择自己想要查看的页数。
  • textbox:展示一个文本框,让用户自己输入页数。
  • none:不展示“go to page”输入框。

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/

loadingAnimationDelay int default: 500

jTable延迟‘loading...’动画一段时间,以允许ajax请求完成。如果没在指定时间内完成请求,那么将展示动画。这个选项定义了超时值(以毫秒为单位)。如果要禁用这个功能,设置为0即可。

messages object

用于本地化jTable。详看localization

multiselect boolean default: false

代表是否允许用户同时选择多个行。

multiSorting boolean default: false

代表是否允许用户根据多个列进行排序。如果设置为true,用户可以按住CTRL键执行多列排序。

假如用户选择了多列排序,jTable会发送这样的格式:‘Name DESC,BirthDay ASC’。更多信息查看listAction

openChildAsAccordion boolean default: false

如果此选项设置为true,则在打开子表时(手风琴样式),jTable会自动关闭其它打开的子表。

paging boolean default: false

代表jTable是否开启分页。如果开启,jTable会发送额外的分页参数到服务器。更多信息查看listAction

pageList string default: 'normal' 但是默认好像是minimal

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

  • minimal:只显示第一页、上一页、下一页和最后一页。
  • normal:除了minimal显示的,还会显示所有的页码。

pageSize number default: 10

假如开启了分页,此值决定了一页包含多少条数据。这个选项可以不再初始化代码中指定,就像下面代码一样:

$('#MyTableContainer').jtable('option', 'pageSize', 20);

pageSizes array of numbers default: [10, 25, 50, 100, 250, 500]

假如开启了分页,这个选项决定了在页码选择下拉框中展示的数字。默认就是上面的那个,可以自己设置一个number array。

pageSizeChangeArea boolean default: true

假如开启了分页,此值决定了pageSizes是否可见。

saveUserPreferences boolean default: true

代表jTable是否 保存/加载 用户的偏好,例如列的宽度。保存/恢复偏好是由jTable生成的哈希值,所有的列名和总列数。所以,改变列也会改变保存的哈希值。

selecting boolean default: false

代表jTable是否允许用户在表格中选择行。

selectingCheckboxes boolean default: false

当开启了selecting,此值决定是否在每行显示一个checkbox。

selectOnRowClick boolean default: true

代表jTable是否允许用户点击行的任何位置就可以选中当前行。设置为false,只能点击checkbox才可以选中行。

showCloseButton boolean default: false

代表jTable是否为表格显示一个关闭按钮。当用户点击关闭按钮时,closeRequested事件会被触发。jTable内部使用此选项来关闭子表。

sorting boolean default: false

代表jTable是否允许对表格进行排序。

tableId string default: none

一个字符串,是这个表格的唯一标识。此值用于保存/恢复用户的偏好。如果设置了,会设置为表格的id属性。这个选项是可选的。

title string default: none

一个字符串,用来设置表格的标题。如果是没有设置,标题区域根本不会显示。

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脚本。

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

  • cssClass:为工具栏项添加自定义的css样式
  • tooltip:为每个项添加一个tip。jTable会设置到‘title’属性上

unAuthorizedRequestRedirectUrl string default: none

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

posted @ 2017-04-12 10:55  dm-andy  阅读(165)  评论(0编辑  收藏  举报