easyui如何实现冻结列(垂直滑动时)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui如何实现冻结列(垂直滑动时)相关的知识,希望对你有一定的参考价值。

垂直滑动时冻结左侧列

参考技术A   了冻结列,您需要定义 frozenColumns 属性。frozenColumn 属性和 columns 属性一样。
  $('#tt').datagrid( title:'Frozen Columns', iconCls:'icon-save', width:500, height:250, url:'data/datagrid_data.json', frozenColumns:[[ field:'itemid',title:'Item ID',width:80, field:'productid',title:'Product ID',width:80, ]], columns:[[ field:'listprice',title:'List Price',width:80,align:'right', field:'unitcost',title:'Unit Cost',width:80,align:'right', field:'attr1',title:'Attribute',width:100, field:'status',title:'Status',width:60 ]]);

  您不需要写任何的 javascript 代码,这样您就能创建一个数据网格(datagrid)组件,如下所示:
  <table id="tt" title="Frozen Columns" class="easyui-datagrid" style="width:500px;height:250px" url="data/datagrid_data.json" singleSelect="true" iconCls="icon-save"> <thead frozen="true"> <tr> <th field="itemid" width="80">Item ID</th> <th field="productid" width="80">Product ID</th> </tr> </thead> <thead> <tr> <th field="listprice" width="80" align="right">List Price</th> <th field="unitcost" width="80" align="right">Unit Cost</th> <th field="attr1" width="150">Attribute</th> <th field="status" width="60" align="center">Stauts</th> </tr> </thead></table>追问

谢谢,不过这个方法只实现了水平滑动时冻结了左侧列,有什么方法垂直滑动的时候左侧列也能不动呢?

easyui datagrid 使用技巧汇总

 1  表头固定

1 当数据行很多时,会呈现垂直的滚动条,但是向下滚动,表头却被淹没了,所以需要固定表头。

 datagrid.datagrid(
             fit: true
);


2 冻结表列

2  当数据列很多时,会出现水平滚动条。某些列时特定要一直显示的(冻结列)。

 datagrid.datagrid(
         frozenColumns: [[
                     field: 'Name', title: '名称', width: 180 ,
        ]]

);


3 修改每页显示行数

 3、表格默认每页只显示几十行,最多也就50 ,每页显示1000行的,总是翻页也很麻烦。

 datagrid.datagrid( pageList: [10, 20, 30, 40, 50, 100, 500, 1000],);


        rownumbers: true,
        fit: true,
        idField: ID',
        striped: true,
        singleSelect: true,
        collapsible: true,
        pagination: true,
        pageSize: 500,
        pageList: [10, 20, 30, 40, 50, 100, 500, 1000],

4  显示左右滚动条

一:设置 fitColumns : false

二:columns 中,设置所有 fixed : true,但是留其中一个设置 width : 100(根据实际需求)

注意如下几个点就行:

1、数据网格(DataGrid)所在的table属性上级div无需设置width;

2、.datagrid属性:fitColumns为false 或者不填

3、在style中给.datagrid-body设置 overflow:auto;

1

2

3

4

5

6

7

8

<style>

    .datagrid-body

        overflow:auto;

    

    .datagrid-header-row > td

        border-bottom: 1px solid #DFDFDF !important;

    

</style>

效果如下:左边(frozenColumns)固定,右边(columns)超出表单属性可移动

 


以上是关于easyui如何实现冻结列(垂直滑动时)的主要内容,如果未能解决你的问题,请参考以下文章

easyui datagrid 使用技巧汇总

easyui datagrid 使用技巧汇总

如何实现android的垂直滑动视图UI

jQuery实现表格冻结行和列

在WPF中使用DataGrid如何实现行冻结的功能

easyui中datagrid标签下的 frozencolumns怎么使用