Jquery Easy UI学习(一)datagrid的使用

王飞英
2023-12-01

Easy UI一个最常用的表格控件,这一篇,我们学习下DataGrid的使用及属性,

方法一:jsp中定义时,直接定义好属性等,还是使用data-options="..."设定属性,

 <table id="verification_requirement_list" title="核查需求登记" class="easyui-datagrid"
  style="width:900px;height:auto;" 
   data-options="singleSelect:true,collapsible:true,url:'equipmentRequirement.json'">
  <thead>
   <tr>
    <th field="requirementNum" width="30">需求编号</th>
    <th field="equipmentName" width="30">设备名称</th>
    <th field="model" width="30">型号</th>
    <th field="equipmentNum" width="30">设备编号</th>
    <th field="checkTime" width="40">检定日期</th>
    <th field="checkEffectiveTime" width="40">检定有效日期</th>
    <th field="verificationTime" width="40">核查日期</th>
    <th field="verificationRequirements" width="40">核查要求</th>
    <th field="applyTime" width="30">申请时间</th>
    <th field="applyUser" width="20">申请人</th>
   </tr>
  </thead>
 </table>

方法二:

jsp:jsp中定义好一个table

<table id="data_list_tab" class="easyui-datagrid" ></table>

js:写一个方法,为jsp中定义好的table设定class

//加载表格
function loadGridData(equipmentId){
 
 //设备变更履历设定
 $('#data_list_tab').datagrid({
 
     title:'配置变更',
 //    nowrap: false,
     url: urls.history.getEquipmentChgHistoryGridData,
     queryParams:{
      'equipmentId':equipmentId
     },
     sortName: 'changeTime',
     sortOrder: 'asc',
     remoteSort: false,
     idField:'changeTime',
     height : 210,
  onClickCell: onClickCell,
 
     columns:[[
     {field:'equipmentName',title:'设备名称',width:100,sortable:true,
            formatter:function(value,row,index){
            var detail = "<a href='#' οnclick='showEquipmentDetail(" + row.id + ");'>"+value+"</a>";
            return detail;
        }
     },
     {field:'equipmentStandard',title:'型号/规格',editor:'text',width:80,sortable:true},
     {field:'changeTime',title:'变更时间',editor:'datetimebox',width:130,sortable:true},
     {field:'changeItem',title:'变更事项',editor:'text',width:150,sortable:true}
     ]],
     singleSelect:true,
     collapsible:true,
        pagination:true,
        pageNumber:1,
        pageSize:5,
     pageList:[5,10,20],          
     singleSelect:true,    
     rownumbers:true,
 });
 
    //获取Pager
 var pager = $('#equipment_history_list_tab').datagrid().datagrid('getPager'); // get the pager of datagrid
 pager.pagination({
  buttons:[{
   iconCls:'icon-add',
   handler:function(){
    
    //添加设备变更履历
    addChangeHistory();
   }
  }]
 }); 
}


以上两个方法只是简单用,但是经常还会遇到不同的需要,需要做不同的调整,我查阅一些资料,对DataGrid的属性等,整理如下:

DataGrid 属性

参数名类型描述默认值
titlestringDatagrid面板的标题null
iconClsstring在面板上通过一个CSS类显示16x16图标。null
borderboolean设置面板是否具有边框TRUE
widthnumberdatagrid面板的宽度auto
heightnumberdatagrid面板的高度auto
columnsarrayDataGrid列配置对象null
frozenColumnsarray冻结的列,被现实在左边null
stripedboolean设置是否让单元格显示条纹。默认false。FALSE
methodstring通过该方法类型请求远程数据。默认post。post
nowrapboolean是否包裹数据,默认为包裹数据显示在一行TRUE
idFieldstring标识字段,或者说主键字段null
urlstring请求数据的URL.(josn格式)null
loadMsgstring加载数据时显示的信息Processing, please wait …
paginationboolean是否显示分页工具栏FALSE
rownumbersboolean是否显示行号FALSE
singleSelectboolean是否单行选定FALSE
fitboolean是否自动适应父容器FALSE
pageNumbernumber分页初始化行号1
pageSizenumber初始化分页大小10
pageListarray分页大小选择列[10,20,30,40,50]
queryParamsobject请求数据时额外发送的参数{}
sortNamestring排序列null
sortOrderstring升序还是降序 'asc' 或者 'desc'.asc
toolbarstring工具栏(绑定新增,查询按钮...)null

Column 属性


名称类型描述默认值
titlestring列字段要现实的名称undefined
fieldstring列字段undefined
widthnumber宽度undefined
rowspannumber单元格行数undefined
colspannumber单元格列数undefined
alignstring文本对齐方式,同align属性.undefined
sortableboolean是否可以被排序.undefined
checkboxboolean是否具有多选框undefined
formatterclass方法 

注:formatter:function (value, rowData, rowIndex){}
//value 这个field绑定的值   rowData 这行数据内容  rowIndex 选择行的行号

columns: [[
    { field: 'Id', title: '编号', width: 100, sortable: true },
    { field: 'ClassName', title: '类型名称', width: 150, sortable: true },
    { field: 'ClassDescribe', title: '描述', width: 150, sortable: true },
    { field: 'Id', title: '操作', width: 150, sortable: true, formatter: formatOper 

 
function formatOper(index) {
     return "<a href=\"javascript:void(0)\"  οnclick=\"UsDelete(" + index + ")\">删除</a>"; 
}

Events(事件)


NameParametersDescription
onLoadSuccess none调用远程数据成功是激活
onLoadErrornone装载错误时激活
onClickRowrowIndex , rowData 点击一行时激活,参数包括:
rowIndex:点击的行数,从0开始
rowData: 当前行的数据
onDblClickRowrowIndex ,rowData双击一行是触发,参数包括:
rowIndex:点击的行数,从0开始
rowData: 当前行的数据
onSortColumnsort,order对一列进行排序时激活,参数包括:
sort:排序字段名称
order: 排序规则,升序,降序
onSelectrowIndex,rowData选中一行时激活,参数有:
rowIndex:选中的行数
rowData: 数据
onUnselectrowIndex,rowData取消选中时激活,参数:
rowIndex:选中的行数
rowData: 数据


onDblClickRow: function (rowIndex, rowData) { //双击事件
 
}

Methods(方法)

NameParameterDescription
optionsnone返回所有属性
resizenone重置大小布局
reloadnone重新加载数据
fixColumnSizenone调整列的大小
loadDataparam装载数据,以前的数据会被移除
getSelectednone返回选中的行,没有则返回空
getSelectionsnone返回所有的行,空则返回空数组
clearSelections none取消所有选中
selectRowindex选中一行,参数为行号
selectRecordidValue根据主键查询出一条记录
unselectRowindex取消选中一行


方法的使用:

例如,要刷新datagird需要一下两步:

1.datagrid指定url,加载时访问用
2.grid.datagrid('reload');


 类似资料: