zoukankan      html  css  js  c++  java
  • mini.DataGrid使用说明

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

    <div id="datagrid1" class="mini-datagrid" style="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?
    data Array 数据对象  
    columns Array 列集合对象  
    url String 数据加载地址  
    ajaxType String ajax类型:get/post。  
    ajaxOptions Object ajax配置对象。如:ajaxOptions="{type:'post', async: true, data: {a:1, b: true}, dataType: 'text', contentType: 'application/x-www-form-urlencoded;charset=utf-8'}"。  
    idField String 行数据唯一字段。  
    virtualScroll Boolean 是否虚拟滚动。当显示的数据超过500以上时,请设置此属性,能极大提升性能。 false
    virtualColumns Boolean 是否虚拟滚动列,在列较多时有用,提高性能。 false
    pageIndex Number 页码 0
    pageSize Number 每页多少条 10
    sizeList Array 页尺寸集合,比如[5,10,100] [5,10,20,50,100]
    sortField String 排序字段  
    sortOrder asc,desc 排序方向  
    sortMode client 排序模式。设置为"client"后则时客户端排序  
    totalCount Number 总记录数  
    defaultColumnWidth Number 默认列宽 100
    showColumns Boolean 显示表头 true
    showPager Boolean 显示分页 true
    showHGridLines Boolean 显示横向表格线条 true
    showVGridLines Boolean 显示竖向表格线条 true
    showFilterRow Boolean 显示过滤行 false
    showSummaryRow Boolean 显示汇总行 false
    showGroupSummary Boolean 是否显示分组汇总 false
    summaryPosition String 分组汇总位置。top|bottom。 bottom
    allowEmptyContextMenu Boolean 是否右键点击空白处也显示右键菜单 false
    showCellTip Boolean 允许单元格提示框(当宽度变小有省略号时) true
    allowCellWrap Boolean 允许单元格换行 false
    allowHeaderWrap Boolean 允许表头文本换行 false
    allowSortColumn Boolean 允许列排序 true
    allowMoveColumn Boolean 允许移动列 true
    allowResizeColumn Boolean 允许拖拽调节列宽度 true
    enableHotTrack Boolean 移动到行时高亮显示 true
    allowCellSelect Boolean 允许选择单元格 false
    allowCellEdit Boolean 允许单元格编辑。此模式下,行编辑API将失效。 false
    editNextOnEnterKey Boolean 按回车键进入下一个单元格编辑。 false
    editNextRowCell Boolean 按回车键进入下一行同列的单元格编辑。 false
    cellEditAction String 激发单元格编辑的事件,默认是cellclick,也可以配置成celldblclick。 cellclick
    allowCellValid Boolean 是否自动验证,当编辑单元格时。 false
    allowRowSelect Boolean 允许选择行 true
    onlyCheckSelection Boolean 是否只通过checkcolumn列选择 false
    multiSelect Boolean 允许多选行 false
    allowUnselect Boolean 允许反选。设置true后,点击任意单元格都会选中行,以及取消选中行。 false
    allowAlternating Boolean 显示斑马纹 false
    frozenStartColumn Number 锁定开始列 -1
    frozenEndColumn Number 锁定截至列 -1
    showPageIndex Boolean 显示页码 true
    showPageSize Boolean 显示页尺寸 true
    showLoading Boolean 显示Loading遮罩效果 true
    allowResize Boolean 允许拖拽调节表格尺寸 false
    selectOnLoad Boolean 加载完是否自动选中 false
    collapseGroupOnLoad Boolean 加载完是否折叠分组 false
    showEmptyText Boolean 数据为空时显示提示文本 false
    emptyText String 数据为空时的提示文本  
    alwaysShowEmptyText Boolean 是否总是显示空文本 false
    pageIndexField String 分页索引字段名 "pageIndex"
    pageSizeField String 分页条数字段名 "pageSize"
    sortFieldField String 排序字段的字段名 "sortField"
    sortOrderField String 排序方向字段名 "sortOrder"
    totalField String 总记录数字段名 "total"
    dataField String 数据字段名 "data"
    showPageInfo Boolean 显示分页文本信息 true
    showReloadButton Boolean 显示"刷新"分页按钮 true
    autoHideRowDetail Boolean 展开详细行时,自动隐藏其他详细行 true
    showModified Boolean 是否显示修改的红色小三角 true
    showColumnsMenu Boolean 显示列菜单。实现显示、隐藏列。 false
    showPagerButtonText Boolean 显示分页按钮文本 false
    showPagerButtonIcon Boolean 显示分页按钮图标 true
    sizeText String 分页控件分页文字。 ""
    pageSizeWidth Number 分页控件pageSize选择框的宽度。  
    enableGroupOrder Boolean 分组时是否应用排序。 true
    skipReadOnlyCell Boolean tab导航编辑时非编辑直接跳过。 false
    showSortIcon Boolean 显示可派序列的提示图标。 false
    sortDblClick Boolean 双击表头列排序。 false
    selectOnRightClick Boolean 是否允许右键点击选择。 true
    navEditMode Boolean 导航编辑模式。true时,按tab/enter键在导航切换时进入单元格编辑。 false
    autoLoad Boolean 是否自动加载数据。 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
    type indexcolumn|checkcolumn|checkboxcolumn|comboboxcolumn|treeselectcolumn 列类型。创建几个特殊的列。  
    header String 表头列文本  
    field String 单元格值字段  
    displayField String 单元格文本字段  
    sortField String 排序字段  
    name String 列标识名称  
    width Number 列宽度  
    visible Boolean 是否显示  
    hideable Boolean 是否在表头菜单项显示 false
    readOnly Boolean 是否只读 false
    headerAlign String 表头列文本位置。left/center/right。 left
    align String 单元格文本位置。left/center/right。 left
    headerCls String 表头列样式类。  
    cellCls String 单元格样式类  
    headerStyle String 表头列样式  
    cellStyle String 单元格样式  
    editor Object 单元格编辑器。  
    renderer Function 单元格绘制处理函数,同drawcell事件。  
    allowMove Boolean 是否可移动表头列。 true
    allowResize Boolean 是否拖拽调节表头列宽度。 true
    autoShowPopup Boolean 编辑时是否自动显示下拉框。 false
    dataType string|int|float|date|boolean|currency 数据类型,为客户端排序所用。 string
    currencyUnit String 货币单位。当dataType="currency"有用。如:¥432,432.00。  
    dateFormat String 日期格式化。如:yyyy-MM-dd HH:mm:ss。  
    numberFormat String 数字格式化。如:
    • 小数点和千分位:format="n"
    • 货币格式:format="c"。
    • 百分比格式:format="p"。
    • 自定义格式:format="¥#,0.00"。
     
    vtype String 验证规则,如required,email,url等。具体参考这里 false
    summaryType count|min|max|sum|avg 汇总计算类型。  
    summaryRenderer Function 汇总单元格渲染函数。  
    autoEscape false 是否自动转义Html。  
    decimalPlaces Number 保留的小数位数,默认2位。  


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

  • 相关阅读:
    linq教程
    linq 多表分组查询统计
    System.Diagnostics.Trace.Listeners
    linq多表join与group
    LINQ的左连接、右连接、内连接
    linq pad
    开源项目
    linq group join
    OWIN OAuth 2.0 Authorization Server
    autofac + owin + webform + mvc + webapi集成demo
  • 原文地址:https://www.cnblogs.com/zhaow/p/9777574.html
Copyright © 2011-2022 走看看