mini.DataGrid使用说明

mini.DataGrid
表格。实现分页加载、自定义列、单元格渲染、行编辑器、锁定列、过滤行、汇总行等功能。
Extend
    mini.Panel
Usage

<div id="datagrid1" class="mini-datagrid" style="width:700px;height:250px;" 
    url="../data/AjaxService.aspx?method=SearchEmployees" 
>
    <div property="columns">
        <div type="indexcolumn"></div>                
        <div field="loginname" width="120" headerAlign="center" allowSort="true">员工帐号</div>    
        <div field="name" width="120" headerAlign="center" allowSort="true">姓名</div>    
        <div header="工作信息">
            <div property="columns">
                <div field="dept_name" width="120">所属部门</div>
                <div field="position_name" width="100">职位</div>
                <div field="salary" width="100" allowSort="true">薪资</div>
            </div>
        </div>
    </div>
</div>
Screenshots
Examples
Properties
NameTypeDescriptionDefault Set? Get? Tag?
dataArray数据对象 
columnsArray列集合对象 
urlString数据加载地址 
ajaxTypeStringajax类型:get/post。 
ajaxOptionsObjectajax配置对象。如:ajaxOptions="{type:'post', async: true, data: {a:1, b: true}, dataType: 'text', contentType: 'application/x-www-form-urlencoded;charset=utf-8'}"。 
idFieldString行数据唯一字段。 
virtualScrollBoolean是否虚拟滚动。当显示的数据超过500以上时,请设置此属性,能极大提升性能。false
virtualColumnsBoolean是否虚拟滚动列,在列较多时有用,提高性能。false
pageIndexNumber页码0
pageSizeNumber每页多少条10
sizeListArray页尺寸集合,比如[5,10,100][5,10,20,50,100]
sortFieldString排序字段 
sortOrderasc,desc排序方向 
sortModeclient排序模式。设置为"client"后则时客户端排序 
totalCountNumber总记录数 
defaultColumnWidthNumber默认列宽100
showColumnsBoolean显示表头true
showPagerBoolean显示分页true
showHGridLinesBoolean显示横向表格线条true
showVGridLinesBoolean显示竖向表格线条true
showFilterRowBoolean显示过滤行false
showSummaryRowBoolean显示汇总行false
showGroupSummaryBoolean是否显示分组汇总false
summaryPositionString分组汇总位置。top|bottom。bottom
allowEmptyContextMenuBoolean是否右键点击空白处也显示右键菜单false
showCellTipBoolean允许单元格提示框(当宽度变小有省略号时)true
allowCellWrapBoolean允许单元格换行false
allowHeaderWrapBoolean允许表头文本换行false
allowSortColumnBoolean允许列排序true
allowMoveColumnBoolean允许移动列true
allowResizeColumnBoolean允许拖拽调节列宽度true
enableHotTrackBoolean移动到行时高亮显示true
allowCellSelectBoolean允许选择单元格false
allowCellEditBoolean允许单元格编辑。此模式下,行编辑API将失效。false
editNextOnEnterKeyBoolean按回车键进入下一个单元格编辑。false
editNextRowCellBoolean按回车键进入下一行同列的单元格编辑。false
cellEditActionString激发单元格编辑的事件,默认是cellclick,也可以配置成celldblclick。cellclick
allowCellValidBoolean是否自动验证,当编辑单元格时。false
allowRowSelectBoolean允许选择行true
onlyCheckSelectionBoolean是否只通过checkcolumn列选择false
multiSelectBoolean允许多选行false
allowUnselectBoolean允许反选。设置true后,点击任意单元格都会选中行,以及取消选中行。false
allowAlternatingBoolean显示斑马纹false
frozenStartColumnNumber锁定开始列-1
frozenEndColumnNumber锁定截至列-1
showPageIndexBoolean显示页码true
showPageSizeBoolean显示页尺寸true
showLoadingBoolean显示Loading遮罩效果true
allowResizeBoolean允许拖拽调节表格尺寸false
selectOnLoadBoolean加载完是否自动选中false
collapseGroupOnLoadBoolean加载完是否折叠分组false
showEmptyTextBoolean数据为空时显示提示文本false
emptyTextString数据为空时的提示文本 
alwaysShowEmptyTextBoolean是否总是显示空文本false
pageIndexFieldString分页索引字段名"pageIndex"
pageSizeFieldString分页条数字段名"pageSize"
sortFieldFieldString排序字段的字段名"sortField"
sortOrderFieldString排序方向字段名"sortOrder"
totalFieldString总记录数字段名"total"
dataFieldString数据字段名"data"
showPageInfoBoolean显示分页文本信息true
showReloadButtonBoolean显示"刷新"分页按钮true
autoHideRowDetailBoolean展开详细行时,自动隐藏其他详细行true
showModifiedBoolean是否显示修改的红色小三角true
showColumnsMenuBoolean显示列菜单。实现显示、隐藏列。false
showPagerButtonTextBoolean显示分页按钮文本false
showPagerButtonIconBoolean显示分页按钮图标true
sizeTextString分页控件分页文字。""
pageSizeWidthNumber分页控件pageSize选择框的宽度。 
enableGroupOrderBoolean分组时是否应用排序。true
skipReadOnlyCellBooleantab导航编辑时非编辑直接跳过。false
showSortIconBoolean显示可派序列的提示图标。false
sortDblClickBoolean双击表头列排序。false
selectOnRightClickBoolean是否允许右键点击选择。true
navEditModeBoolean导航编辑模式。true时,按tab/enter键在导航切换时进入单元格编辑。false
autoLoadBoolean是否自动加载数据。false
Methods
NameParameterDescriptionReturn
load ( params, success, fail )params:Object。参数对象。
success:Function。成功回调函数。
fail:Function。失败回调函数。
加载数据。
比如,grid.load({key: "普加"})。
后台接收如下信息:
{
    key: "普加",  //自定义
    pageIndex: 0,
    pageSize: 10,
    sortField: "",
    sortOrder: "asc"
}
使用:String key = request.
 
reload ( ) 重新加载数据。
 
getLoadParams ( ) 获取查询参数对象。Object。
gotoPage ( index, size ) 跳转页码。 
sortBy ( sortField, sortOrder ) 排序字段 
clearSort ( ) 取消排序。 
groupBy ( field, dir ) 分组。比如:grid.groupBy("city", "desc") 
getResultObject ( ) 获取加载的服务端数据对象。一般在onload事件中调用。Object
loading ( ) 显示加载遮罩。 
unmask ( ) 取消遮罩。 
frozenColumns ( start, end ) 锁定列。比如:grid.frozenColumns(0, 2) 
unFrozenColumns ( ) 取消锁定列。 
clearGroup ( ) 取消分组。 
collapseGroups ( ) 折叠所有分组。 
expandGroups ( ) 展开所有分组。 
mergeCells ( cells ) 合并单元格。比如:
var cells = [
    { rowIndex: 1, columnIndex: 0, rowSpan: 1, colSpan: 2 },
    { rowIndex: 3, columnIndex: 0, rowSpan: 4, colSpan: 3 }
];
grid.mergeCells(cells);
 
mergeColumns ( columns ) 自动合并相同值单元格。比如:
grid.mergeColumns(["company"]);//company是某列的name
 
setCurrentCell ( cell )cell: [row, column]设置当前选中单元格。 
getCurrentCell ( ) 获取当前选中单元格。 
isChanged ( ) 是否已修改。Boolean
getChanges ( state, onlyField ) state: added|modified|removed。如传递null,则获取增删改数据。
onlyField:Boolean。传递true,modified的行数据将只返回修改的字段。
获取增加、删除、修改后的数据集合。row._state为added/modified/removed。 
beginEditCell ( ) 对当前选中单元格启动编辑。 
cancelEdit ( ) 取消所有行编辑。 
commitEditRow ( row ) 提交指定行编辑。 
commitEdit ( ) 提交所有行编辑。 
beginEditRow ( row ) 启动行编辑。 
cancelEditRow ( row ) 取消指定行编辑。 
isEditing ( ) 是否有行编辑。Boolean
isEditingRow ( row ) 指定行是否处于编辑状态。Boolean
getCellEditor ( column, row ) 获取指定列和行的编辑器控件对象。Control
getEditorOwnerRow ( editor ) 获取编辑器属于哪一行对象 
updateRow ( row, rowData ) 更新行(JavaScript) 
removeRow ( row, autoSelect ) 删除行(JavaScript)。autoSelect为true,则删除记录后,自动选择下一条记录。 
removeRows ( rows, autoSelect ) 删除多行(JavaScript)。autoSelect为true,则删除记录后,自动选择下一条记录。 
addRows ( rows, index ) 增加多行(Javascript) 
addRow ( row, index ) 增加行(Javascript) 
moveRow ( row, index ) 移动行(Javascript) 
moveUp ( Array ) 上移 
moveDown ( Array ) 下移 
clearRows ( ) 清除所有行(Javascript) 
accept ( ) 清除所有行修改痕迹。 
acceptRecord ( row ) 清除指定行修改痕迹。 
reject ( ) 取消还原数据修改。 
rejectRecord ( row ) 取消还原指定行修改。 
indexOf ( row ) 获取行索引号 
isSelected ( row ) 是否选中行 
getSelecteds ( ) 获取所有选中的行 
getSelected ( ) 获取当前选中行 
setSelected ( row ) 设置当前选中行 
select ( row, fireEvent ) fireEvent: Boolean。是否激发选择事件。 选中行 
deselect ( row, fireEvent )fireEvent: Boolean。是否激发选择事件。取消选中行 
selectAll ( fireEvent )fireEvent: Boolean。是否激发选择事件。选中所有行 
deselectAll ( fireEvent )fireEvent: Boolean。是否激发选择事件。取消选中所有行 
clearSelect ( fireEvent )fireEvent: Boolean。是否激发选择事件。取消选中所有行 
selects ( rows, fireEvent )fireEvent: Boolean。是否激发选择事件。选中多行 
deselects ( rows, fireEvent )fireEvent: Boolean。是否激发选择事件。取消选中多行 
showAllRowDetail ( ) 显示所有行详细 
hideAllRowDetail ( ) 隐藏所有行详细 
showRowDetail ( row ) 显示行详细 
hideRowDetail ( row ) 隐藏行详细 
isShowRowDetail ( row ) 是否显示了行详细 
getRowDetailCellEl ( row ) 获取行详细DOM对象 
hideColumn ( column ) 隐藏列 
showColumn ( column ) 显示列 
setColumnWidth ( column, Number ) 设置列宽 
updateColumn ( column, Object ) 更新列内容。例如:grid.updateColumn("name", {header: "姓名"}); 
getRow ( index ) 获取行对象 
findRow ( Function ) 通过查询函数获取行对象。如:
var row = grid.findRow(function(row){
    if(row.name == "张三") return true;
});
Object
findRows ( Function ) 通过查询函数获取行对象数组。如:
var rows = grid.findRows(function(row){
    if(row.age > 20) return true;
});
Array
getColumn ( index/columnName ) 获取列对象 
getRowEl ( row, viewIndex ) 获取行DOM对象。viewIndex=1获取锁定行,viewIndex=2获取内容行。 
getCellEl ( row, column ) 获取单元格DOM对象 
getHeaderCellEl (column ) 获取表头单元格DOM对象 
addRowCls ( row, cls ) 增加行样式 
removeRowCls ( row, cls ) 删除行样式 
getFilterCellEl ( column ) 获取过滤行单元格DOM对象 
getSummaryCellEl ( column ) 获取汇总行单元格DOM对象 
validate ( ) 验证表格所有单元格 
isValid ( ) 是否验证通过Boolean
scrollIntoView ( row ) 定位滚动条到行 
getBottomPager ( ) 获取分页控件 
getColumnByEvent ( event ) 根据事件对象获取列 
getRowByEvent ( event ) 根据事件对象获取行 
getCellByEvent ( event ) 根据事件对象获取单元格。cell = [record, column ] 
getBottomColumns ( ) 获取底部显示的列数组 
getColumns ( ) 获取列集合 
getRowByUid ( uid ) 根据uid获取行对象 
Events
NameEventObjectDescription
columnschanged 列改变时激发。如列显示/隐藏、列宽调整、列增加/删除等情况。
rowclick
{
    sender: Object, //表格对象
    record: Object //行对象
}
行点击时发生
rowdblclick
{
    sender: Object, //表格对象
    record: Object //行对象
}
行双击时发生
rowmousedown
{
    sender: Object, //表格对象
    record: Object //行对象
}
行鼠标按下时发生
cellclick
{
    sender: Object, //表格对象
    record: Object, //行对象
    column: Object //列对象
}
单元格点击时发生
cellmousedown
{
    sender: Object, //表格对象
    record: Object, //行对象
    column: Object //列对象
}
单元格鼠标按下时发生
headercellclick
{
    sender: Object, //表格对象
    column: Object //列对象
}
表头单元格点击时发生
headercellmousedown
{
    sender: Object, //表格对象
    column: Object //列对象
}
表头单元格鼠标按下时发生
headercellcontextmenu
{
    sender: Object, //表格对象
    column: Object //列对象
}
表头单元格点击右键时发生
beforeload
{
    sender: Object, //表格对象
    data: Object    //参数对象
    cancel: Boolean 
}
数据加载前发生
preload 数据加载,设置到Grid前发生
loaderror
{
    sender: Object, //表格对象
    xhr: Object, //ajax对象
    errorMsg: String //错误信息
    errorCode: int  //错误码
}
数据加载错误时发生
load
{
    sender: Object, //表格对象
    xhr: Object,    //ajax对象
    data: Array     //数据    
}
数据加载成功时发生
update 表格渲染完毕事件
drawcell
{
    sender: Object,
    rowIndex: Number,
    columnIndex: Number,
    record: Object,    
    column: Object,
    field: String,
    value: String,
    cellHtml: "",
    rowCls: "",
    cellCls: "",
    rowStyle: "",
    cellStyle: ""
}
绘制单元格时发生
cellbeginedit
{
    sender: Object,
    rowIndex: Number,    
    record: Object,
    column: Object,
    field: String,
    editor: Object,
    value: String,
    cancel: false
}
编辑开始前发生
cellcommitedit
{
    sender: Object,
    rowIndex: Number,    
    record: Object,
    column: Object,
    field: String,
    editor: Object,
    oldValue: Object,
    value: Object,
    cancel: false
}
编辑值提交前发生
cellendedit
{
    sender: Object,
    rowIndex: Number,    
    record: Object,
    column: Object,
    field: String,
    editor: Object,
    value: String
}
编辑结束时发生
celleditenter
{
    sender: Object,
    record: Object
}
编辑器按回车时发生
selectionchanged 行选择改变时发生
beforeselect
{
    sender: Object,
    record: Object,
    cancel: Boolean
}
行选中前发生
beforedeselect
{
    sender: Object,
    record: Object,
    cancel: Boolean
}
行取消选中前发生
select
{
    sender: Object,
    record: Object
}
行选中时发生
deselect
{
    sender: Object,
    record: Object
}
行取消选中时发生
cellvalidation
{
    sender: Object,
    record: Object,
    column: Object,
    field: String,
    value: String,
    isValid: Boolean,  //是否验证通过
    errorText: ""   //错误提示文本
}
单元格验证时发生(一般在单元格编辑结束时)
drawsummarycell
{
    sender: Object,
    result: Object,     //服务端返回的原始数据对象
    records: Array,     //行数组
    column: Object,     
    field: String,
    value: String,
    cellHtml: "",
    cellCls: "",
    cellStyle: ""
}
绘制汇总单元格事件
resize 表格拖拽调节尺寸时发生

 


Columns

表格列配置集合:columns,是一个数组,如:[column, column, ...]。其中一个column的配置参数如下表:

 

NameTypeDescriptionDefault
typeindexcolumn|checkcolumn|checkboxcolumn|comboboxcolumn|treeselectcolumn列类型。创建几个特殊的列。 
headerString表头列文本 
fieldString单元格值字段 
displayFieldString单元格文本字段 
sortFieldString排序字段 
nameString列标识名称 
widthNumber列宽度 
visibleBoolean是否显示 
hideableBoolean是否在表头菜单项显示false
readOnlyBoolean是否只读false
headerAlignString表头列文本位置。left/center/right。left
alignString单元格文本位置。left/center/right。left
headerClsString表头列样式类。 
cellClsString单元格样式类 
headerStyleString表头列样式 
cellStyleString单元格样式 
editorObject单元格编辑器。 
rendererFunction单元格绘制处理函数,同drawcell事件。 
allowMoveBoolean是否可移动表头列。true
allowResizeBoolean是否拖拽调节表头列宽度。true
autoShowPopupBoolean编辑时是否自动显示下拉框。false
dataTypestring|int|float|date|boolean|currency数据类型,为客户端排序所用。string
currencyUnitString货币单位。当dataType="currency"有用。如:¥432,432.00。 
dateFormatString日期格式化。如:yyyy-MM-dd HH:mm:ss。 
numberFormatString数字格式化。如:
  • 小数点和千分位:format="n"
  • 货币格式:format="c"。
  • 百分比格式:format="p"。
  • 自定义格式:format="¥#,0.00"。
 
vtypeString验证规则,如required,email,url等。具体参考这里false
summaryTypecount|min|max|sum|avg汇总计算类型。 
summaryRendererFunction汇总单元格渲染函数。 
autoEscapefalse是否自动转义Html。 
decimalPlacesNumber保留的小数位数,默认2位。 


来自:http://miniui.com/docs/api/index.html#ui=datagrid

转载于:https://www.cnblogs.com/zhaow/p/9777574.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值