1, 皮肤样式 文件: builds/css/skins/grid_*.min.css, 源码: source/css/skins/grid_*.css 本地化脚本 文件: builds/js/lang/grid.*.min.js, 源码: source/js/lang/grid.*.js 2, 配置参数: $.fn.bsgrid.defaults 或 $.fn.bsgrid.init(gridId, settings) 第二个参数 dataType: 'json', 'jsonp', 'xml', 默认值'json' dataTrim: true, false, 是否trim单元格值 ajaxType: 'post', 'get', 默认值 'post' localData: json数据, xml数据, 默认值false url: 分页请求URL otherParames: 额外的参数, 可设值: false, 字符查询查询串, Object对象或jquery序列化数组, 默认值false 格式 一: 'param1=val1¶m2=val2' 二: {'param1': 'val1', 'param2': 'val2'} 三: $('#searchForm').serializeArray() autoLoad: 是否自动加载数据, 默认值true即初始化表格后自动加载localData或请求URL的数据 pageAll: 是否显示全部数据, 显示全部数据时只显示总数据行数不加载分页工具条, 默认值false showPageToolbar: 是否显示分页工具条,默认值true pageSize: 分页大小, 如果设置值小于1则不分页且展示全部数据(即自动将pageAll设置为true), 默认值20 pageSizeSelect: 是否显示分页大小选择下拉框, 配合参数pageSizeForGrid, 默认值false pageSizeForGrid: 分页大小选择下拉框显示的值数组 pageIncorrectTurnAlert: 翻页是是否显示无页可翻的提示(首页, 上一页, 下一页, 末页), 默认值true multiSort: 是否支持多列排序, 默认值false displayBlankRows: 是否显示空白行, 默认值true lineWrap: 单元格值是否自动换行, 默认值false, 设置false对单元格起效果的样式是: grid.css -> .bsgrid td.lineNoWrap 设置true对单元格起效果的样式是: grid.css -> .bsgrid td.lineWrap stripeRows: 隔行变色, 默认值false, 对应样式是: grid.css -> .bsgrid tr.even_index_row td rowHoverColor: 划过行变色, 默认值false, 对应样式是: grid.css -> .bsgrid tr.row_hover td rowSelectedColor: 是否显示选中行背景色, 默认值true, 对应样式是: grid.css -> .bsgrid tr.selected.selected_color td pagingLittleToolbar: 是否显示精简的图标按钮分页工具条, 默认值false pagingToolbarAlign: 分页工具条的显示位置, 默认值'right'居右, 其他值'left', 'center' pagingBtnClass: 分页工具条按钮的样式, 默认值'pagingBtn', 样式在文件grid.paging.css中 displayPagingToolbarOnlyMultiPages: 仅当多页时才显示分页工具条, 默认值false isProcessLockScreen: 数据请求加载过程中是否显示遮罩, 默认值true longLengthAotoSubAndTip: 单元格需要被渲染内容超长时是否截断并tip显示完整内容, 默认值true 截断算法: content.substring(0, MaxLength-3) + '...'. 如果单元格自定义render方法则此配置无意义 截断及tip方法: $.fn.bsgrid.longLengthSubAndTip, 这是一个全局方法 beforeSend: Ajax请求提交前执行方法, 参数: options, XMLHttpRequest complete: Ajax请求完成后执行方法, 参数: options, XMLHttpRequest, textStatus processUserdata: 处理userdata的方法, 在表格渲染数据之前执行, 参数: userdata, options extend.settings: supportGridEdit: 是否支持表格编辑, 默认值false supportGridEditTriggerEvent: 触发表格编辑的事件: ''(直接显示编辑状态), 'rowClick', 'rowDoubleClick', 'cellClick', 'cellDoubleClick', 默认值'rowClick' supportColumnMove: 是否支持拖动表头改变表头宽度, 默认值false searchConditions: 构造下拉框查询表单存放的容器ID, 默认值'' fixedGridHeader: 是否固定表格表头并滚动表体数据, 默认值false fixedGridHeight: 固定表格的高度, 默认值'320px' 扩展方法, 此系列各方法在additional系列同义方法前执行, 内置扩展写在grid.extend.js文件中: extend.initGridMethods: 初始化表格完成后额外执行的方法 extend.beforeRenderGridMethods: 在渲染表格数据前执行的方法 extend.renderPerColumnMethods: 渲染单元格数据执行方法, 不论此单元格是否为空单元格(即无数据渲染) extend.renderPerRowMethods: 渲染行数据执行方法, 不论此行是否为空行(即无数据渲染), 在渲染单元格数据方法执行后执行 extend.afterRenderGridMethods: 在渲染表格数据后执行的方法 additional render methods: additionalBeforeRenderGrid: 在渲染表格数据前执行的方法 additionalRenderPerColumn: 渲染单元格数据执行方法, 不论此单元格是否为空单元格(即无数据渲染) additionalRenderPerRow: 渲染行数据执行方法, 不论此行是否为空行(即无数据渲染), 在渲染单元格数据方法执行后执行 additionalAfterRenderGrid: 在渲染表格数据后执行的方法 3, 列/表头属性 w_index: 列index, 对应加载数据的列key, 区分大小写 w_sort: 类似值"id", "id,desc", "id,asc", 其中"id"是列index w_align: 表格单元格数据的对齐方式, 非表头 w_length: 单元格需要被渲染内容超过此长度则截断并tip显示完整内容, 截断算法: content.substring(0, MaxLength-3) + '...' 如果单元格自定义render方法则此配置无意义 w_render: 自定义列单元格渲染方法名, 插件使用eval(funName)执行此方法, 具有的四个参数是record, rowIndex, colIndex, options 注意如果列有w_render属性设置w_index则无意义. 列可以无w_index或w_render属性 w_hidden: 设置为"true"则隐藏此列 w_tip: 设置为"true"则同时tip单元格内容, 而不论其长度是否超过w_length设置的长度 tip方法: $.fn.bsgrid.columnTip, 这是一个全局方法 列/表头扩展属性 w_num: 行号, 值为line, total_line, 分别表示当前页的数据行号, 所有记录的数据行号 w_check: 设置为true时为列渲染checkbox以选中行 w_edit: 单元格编辑, 值: text, hidden, password, radio, button, checkbox, textarea 表底扩展属性 w_agg: 聚合, 值: count, countNotNone, sum, avg, max, min, concat, custom 4, 获取分页相关、行记录值、单元格值以及userdata值的方法, 在表格数据渲染后使用 gridObj.getPageSize(): 获取分页大小 gridObj.getTotalRows(): 获取总行数 gridObj.getTotalPages(): 获取总页数 gridObj.getCurPage(): 获取当前页码 gridObj.getCurPageRowsNum(): 获取当前页记录条数 gridObj.getStartRow(): 获取当前页记录起始行数, 从1开始 gridObj.getEndRow(): 获取当前页技术行数 gridObj.getSortName(): 获取排序属性name gridObj.getSortOrder(): 获取排序方向 gridObj.getAllRecords(): 获取所有记录值 gridObj.getRecord(rowIndex): 根据行索引获取行记录值, 行索引从0开始 gridObj.getRowRecord(rowObj): 根据行dom对象获取行记录值 gridObj.getRecordIndexValue(record, index): 获取单元格值, 根据行记录值及列index gridObj.getColumnValue(rowIndex, index): 获取单元格值, 根据行索引值及列index gridObj.getCellRecordValue(rowIndex, colIndex): 获取单元格值, 根据行索引值及列索引 gridObj.getRows(): 获取所有行dom对象 gridObj.getRow(rowIndex): 获取行dom对象, 根据行index gridObj.getRowCells(rowIndex): 获取行单元格dom对象, 根据行索引值 gridObj.getColCells(colIndex): 获取列单元格dom对象, 根据列索引值 gridObj.getCell(rowIndex, colIndex): 获取单元格dom对象, 根据行及列索引值 gridObj.getUserdata(): 获取userdata值 5, select以及check选中行相关方法, 在表格数据渲染后使用 gridObj.selectRow(rowIndex): 根据行索引选中行, 行索引从0开始 gridObj.unSelectRow(): 反选行 gridObj.getSelectedRow(): 获取选中行dom对象 gridObj.getSelectedRowIndex(): 获取选中行的索引值, 行索引从0开始, 如果没有选择则返回-1 gridObj.getCheckedRowsIndexs(): 获取checked行的索引值, 行索引从0开始 gridObj.getCheckedRowsRecords(): 获取checked行的记录值 gridObj.getCheckedValues(index): 获取checked行的index值 6, 表格的其他方法 gridObj.getPageCondition(curPage): 获取当前页请求条件 gridObj.refreshPage(): 刷新 gridObj.firstPage(): 首页 gridObj.prevPage(): 上一页 gridObj.nextPage(): 下一页 gridObj.lastPage(): 末页 gridObj.gotoPage(pageNo): 转到指定页 gridObj.page(curPage): 此方法不严谨, 使用gridObj.gotoPage(pageNo)代替 gridObj.sort(thObj): 列排序, 参数是表头dom对象 gridObj.getGridHeaderObject(): 获取表头dom对象, 注意获取的是表头的最后一行(最后一行是对于多行表头而言)th的dom对象 gridObj.getColumnModel(colIndex): 获取列model值, 参数是列索引 gridObj.clearGridBodyData(): 清空表格数据 gridObj.setGridBlankBody(): 设置表格空白表体 gridObj.appendHeaderSort(): append表头的排序 gridObj.createPagingOutTab(): 创建存放分页工具条的表格 gridObj.initPaging(): 初始化分页工具条 gridObj.setPagingValues(): 设置分页工具条的相关值, 注意这是一个接口, 实现方法由分页工具条自身或适配方法实现 7, 表格的其他有用方法 $.fn.bsgrid.getGridObj(gridId): 根据表格ID获取表格对象 $.fn.bsgrid.columnTip(tdObj, value, record): tip单元格值 $.fn.bsgrid.longLengthSubAndTip(tdObj, value, maxLen, record): 单元格需要被渲染内容超过此长度则截断并tip显示完整内容, 截断算法: content.substring(0, MaxLength-3) + '...' 8, 表格编辑方法 gridObj.activeGridEditMode: 激活可被编辑的表格单元格 gridObj.getChangedRowsIndexs: 获取changed行的索引值, 行索引从0开始 gridObj.getChangedRowsOldRecords: 获取changed行的旧记录值 gridObj.getRowsChangedColumnsValue: 获取changed单元格的值, 返回Object对象, 其key是'row_'+rowIndex, 值也是Object对象 9, 锁屏遮罩: 全局方法 $.fn.bsgrid.lockScreen: 加载锁屏遮罩 $.fn.bsgrid.unlockScreen: 解除锁屏遮罩 10, 分页工具条 如何重新构建分页工具条 $.fn.bsgrid.createPagingOutTab(options): grid.js $.fn.bsgrid.createPagingToolbar(options): grid.paging.js $.fn.bsgrid.setPagingToolbarEvents(options): grid.paging.js $.fn.bsgrid.dynamicChangePagingButtonStyle(options): grid.paging.js 11, 列/表头部分配置参数 $.fn.bsgrid.defaults.colsProperties, 参数如下: 表格表体数据列配置: align(默认值'center'), maxLength(默认值40) 配置参数: indexAttr, sortAttr, alignAttr, lengthAttr, renderAttr, hiddenAttr, tipAttr 扩展配置参数: editAttr 12, 请求参数名 使用如下方法修改默认配置: $.fn.bsgrid.defaults.requestParamsName.X = '', X可以是pageSize, curPage, sortName, sortOrder