数据表格datagrid

数据表格

继承$.fn.panel.defaults,使用$.fn.datagrid.defaults重载默认值。

依赖关系
  • 控制面板
  • 缩放
  • 链接按钮
  • 分页
使用方法
  1. <table id="tt"></table>  
  1. $('#tt').datagrid({  
  2.     url:'datagrid_data.json',  
  3.     columns:[[  
  4.         {field:'code',title:'Code',width:100},  
  5.         {field:'name',title:'Name',width:100},  
  6.         {field:'price',title:'Price',width:100,align:'right'}  
  7.     ]]  
  8. });  
数据表格属性

属性继承控制面板,以下是数据表格独有的属性。

名称 类型 描述 默认值
columns(列) array(数组) 数据表格列配置对象,查看列属性以获取更多细节。 null
frozenColumns(固定列) array(数组) 跟列属性一样,但是这些列固定在左边,不会滚动。 null
fitColumns(自适应列宽) boolean(布尔型) 设置为true将自动使列适应表格宽度以防止出现水平滚动。 false
striped(显示条纹) boolean(布尔型) 设置为true将交替显示行背景。 false
method(方法) string(字符串) 请求远程数据的方法类型。 post
nowrap(截取) boolean(布尔型) 设置为true,当数据长度超出列宽时将会自动截取。 true
idField(id字段) string(字符串) 表明该列是一个唯一列。 null
url(超链接) string(字符串) 一个用以从远程站点请求数据的超链接地址。 null
loadMsg(载入时信息) string(字符串) 当从远程站点载入数据时,显示的一条快捷信息。 Processing, please wait …
pagination(分页) boolean(布尔型) 设置true将在数据表格底部显示分页工具栏。 false
rownumbers(行数) boolean(布尔型) 设置为true将显示行数。 false
singleSelect(单选模式) boolean(布尔型) 设置为true将只允许选择一行。 false
pageNumber(当前页码) number(数字) 当设置分页属性时,初始化分页码。 1
pageSize(每页记录数) number(数字) 当设置分页属性时,初始化每页记录数。 10
pageList(可选择的每页记录数) array 当设置分页属性时,初始化每页记录数列表。 [10,20,30,40,50]
queryParams(查询参数) object(对象) 当请求远程数据时,发送的额外参数。 {}
sortName(默认排序) string(字符串) 当数据表格初始化时以哪一列来排序。 null
sortOrder(排序顺序) string(字符串) 定义排序顺序,可以是'asc'或者'desc'(正序或者倒序)。 asc
remoteSort(远程排序) boolean(布尔型) 定义是否通过远程服务器对数据排序。 true
showFooter(显示行底) boolean(布尔型) 定义是否显示行底(如果是做统计表格,这里可以显示总计等)。 false
rowStyler(行样式) function(函数) 返回样式,如:'background:red',function有2个参数:
index:行索引,从0开始.
row:对应于该行记录的对象。
 
loadFilter(载入过滤器) function(函数) 返回用以显示的已过滤数据,function有一个参数'data'表示原始数据,你可以将原始数据改变为规范的数据格式,该函数必须返回包含 'total'和'rows'属性的标准数据对象。  
editors(编辑模式) object(对象) 定义当编辑一行时的编辑模式。 predefined editors
view(视图) object(对象) 定义数据表格的视图。 default view
列属性

数据表格的列是一个对象数组,即这个对象中的元素也是一个数组(js中数组是对象)。 对象数组中的每一个元素都是可配置的对象,每个可配置对象定义一个列。

示例代码:

  1. columns:[[  
  2.     {field:'itemid',title:'Item ID',rowspan:2,width:80,sortable:true},  
  3.     {field:'productid',title:'Product ID',rowspan:2,width:80,sortable:true},  
  4.     {title:'Item Details',colspan:4}  
  5. ],[  
  6.     {field:'listprice',title:'List Price',width:80,align:'right',sortable:true},  
  7.     {field:'unitcost',title:'Unit Cost',width:80,align:'right',sortable:true},  
  8.     {field:'attr1',title:'Attribute',width:100},  
  9.     {field:'status',title:'Status',width:60}  
  10. ]]  

名称 类型 描述 默认值
title(标题) string(字符串) 列标题。 undefined
field(字段) string(字符串) 列字段。 undefined
width(宽度) number(数字) 列宽。 undefined
rowspan(跨行数) number(数字) 表明一个单元格跨几行。 undefined
colspan(跨列数) number(数字) 表明一个单元格跨几列。 undefined
align(对其方式) string(字符串) 表明如何对其列数据,可选值:'left','right','center'。 undefined
sortable(可排序) boolean(布尔型) 设置为true允许对该列排序。 undefined
resizable(缩放) boolean(布尔型) 设置为true允许该列被缩放。 undefined
hidden(隐藏) boolean(布尔型) 设置为true将隐藏列。 undefined
checkbox(复选框) boolean(布尔型) 设置为true将显示复选框。 undefined
formatter(格式化) function(函数) 格式化单元格函数,有3个参数:
value:字段的值。
rowData:行数据。
rowIndex:行索引。
undefined
styler(样式) function(函数) 单元格样式函数,返回样式字符串装饰表格如'background:red',function有3个参数:
value:字段值。
rowData:行数据。
rowIndex:行索引。
undefined
sorter(排序器) function(函数) T自定义字段排序函数,有2个参数:
a:该列的第一个值。
b:该列的第二个值。
undefined
editor(编辑器) string,object(字符串,对象) 表明编辑类型。如果属性是字符串类型表示编辑类型,如果是对象则包含2个参数:
type:字符串,编辑类型,可选值:text,textarea,checkbox,numberbox,validatebox,datebox,combobox,combotree。
options:对象,对象于编辑类型的编辑器属性。
undefined
编辑器

使用$.fn.datagrid.defaults.editors重载默认值。

每个编辑器都有以下方法:

名称 参数 描述
init container, options 初始化编辑器并返回目标对象。
destroy target 销毁编辑器。
getValue target 获取编辑框的值。
setValue target , value 设置编辑框的值。
resize target , width 调整编辑器

例如,如下代码将定义一个文本编辑器:

  1. $.extend($.fn.datagrid.defaults.editors, {  
  2.     text: {  
  3.         init: function(container, options){  
  4.             var input = $('<input type="text" class="datagrid-editable-input">').appendTo(container);  
  5.             return input;  
  6.         },  
  7.         getValue: function(target){  
  8.             return $(target).val();  
  9.         },  
  10.         setValue: function(target, value){  
  11.             $(target).val(value);  
  12.         },  
  13.         resize: function(target, width){  
  14.             var input = $(target);  
  15.             if ($.boxModel == true){  
  16.                 input.width(width - (input.outerWidth() - input.width()));  
  17.             } else {  
  18.                 input.width(width);  
  19.             }  
  20.         }  
  21.     }  
  22. });  
数据表格视图

使用$.fn.datagrid.defaults.view重载默认值。

视图是一个告诉数据表格如何呈现行记录的对象,对象必须定义以下方法:

名称 参数 描述
render target, container, frozen 当数据载入时调用。
target: DOM对象,数据网格对象。
container: 行记录容器。
frozen: 是否呈现固定容器。
renderFooter target, container, frozen 这是一个可选函数用以展现行底。
renderRow target, fields, frozen, rowIndex, rowData 这是一个可选函数,它可以被render函数调用。
refreshRow target, rowIndex 定义如何刷新指定的行。
onBeforeRender target, rows 在视图被呈现之前触发。
onAfterRender target 在视图被程序之后触发。
事件

事件继承控制面板,以下是数据表格独有的属性。

名称 参数 描述
onLoadSuccess data 当数据载入成功时触发。
onLoadError none 当载入远程数据发生错误时触发。
onBeforeLoad param 在请求载入数据之前触发,如果返回false将取消载入。
onClickRow rowIndex, rowData 当用户点击行时触发,参数如下:
rowIndex:被点击的行索引,从0开始。
rowData:对应于被点击的行的记录。
onDblClickRow rowIndex, rowData 当用户双击一行时触发,参数如下:
rowIndex:被点击的行索引,从0开始。
rowData:对应于被点击的行的记录。
onClickCell rowIndex, field, value 当用户点击单元格时触发。
onDblClickCell rowIndex, field, value 当用户双击单元格时触发。
onSortColumn sort, order 当用户对列排序时触发,参数如下:
sort:排序字段名称。
order:排序顺序。
onResizeColumn field, width 当用户调整列宽时触发。
onSelect rowIndex, rowData 当用户选择一行是触发,参数如下:
rowIndex:被选择的行索引,从0开始。
rowData:对应于被选择行的记录。
onUnselect rowIndex, rowData 当用户取消选择一行时触发,参数如下:
rowIndex:被取消选择的行索引,从0开始。
rowData:对应于被取消选择行的记录。
onSelectAll rows 当用户选择所有行时触发。
onUnselectAll rows 当用户取消选择所有行时触发。
onBeforeEdit rowIndex, rowData 当用户开始编辑一行时触发,参数如下:
rowIndex:正在编辑的行索引,从0开始。
rowData:对应于正在编辑的行的记录。
onAfterEdit rowIndex, rowData, changes 当用户编辑完成时触发,参数如下:
rowIndex:正在编辑的行索引,从0开始。
rowData:对应于正在编辑的行的记录。
changes:被改变的字段内容,对应方式为字段:值。
onCancelEdit rowIndex, rowData 当用户取消编辑行时触发,参数如下:
rowIndex:正在编辑的行索引,从0开始。
rowData:对应于正在编辑的行的记录。
onHeaderContextMenu e, field 当数据表格的列标题被鼠标右键单击时触发。
onRowContextMenu e, rowIndex, rowData 当一行被鼠标右键单击时触发。
方法

名称 参数 描述
options none 返回属性对象。
getPager none 返回页面对象。
getPanel none 返回控制面板对象。
getColumnFields frozen 返回列字段,如果设置了frozen属性为true,将返回固定列的字段名。
getColumnOption field 返回特定的列属性。
resize param 缩放和布局。
load param 载入并显示第一页的记录,如果传递了'param'参数,它将会覆盖查询参数属性的值。
reload param 重载记录,跟'load'方法一样但是重载的是当前页的记录而非第一页。
reloadFooter footer 重载行底记录。
loading none 显示载入状态。
loaded none 隐藏载入状态。
fitColumns none 让列宽自动适应数据表格的宽度。
fixColumnSize none 固定列尺寸。
fixRowHeight index 固定特定列的高度。
loadData data 载入本地数据,旧记录将被移除。
getData none 返回已载入数据。
getRows none 返回当前页的记录。
getFooterRows none 返回行底记录。
getRowIndex row 返回指定行的索引,row参数可以是行记录或者是一个id字段的值。
getSelected none 返回第一个被选择的行记录或null。
getSelections none 返回所有被选择的行,当没有记录被选择时,将返回一个空数组。
clearSelections none 取消所有的已选择项。
selectAll none 全选。
unselectAll none 取消全选。
selectRow index 选择一行,行索引从0开始。
selectRecord idValue 通过传递id参数来选择一行。
unselectRow index 取消选择一行。
beginEdit index 开始编辑一行。
endEdit index 结束编辑。
cancelEdit index 取消编辑。
getEditors index 获取指定行的编辑器,每个编辑器有如下属性:
actions:编辑器可以做的行为。
target:目标编辑器jQuery对象。
field:字段名。
type:编辑器类型。
getEditor options 获取特定的编辑器,options参数有2个属性:
index:行索引。
field:字段名。
refreshRow index 刷新一行。
validateRow index 校验指定的行,如果有效返回true。
updateRow param 更新指定的行,param参数包含如下属性:
index:要更新的行索引。
row:新的行数据。
appendRow row 添加一行。
insertRow param 插入一个新行,param参数包含如下属性:
index:要插入的行索引,如果没有定义则在最后面添加一个新行。
row:行数据。
deleteRow index 删除一行。
getChanges type 获取从最后一次提交开始的被修改的所有行,type参数表明修改的类型,可选值:inserted,deleted,updated等 。当没有传递type参数时,返回所有被修改的行。
acceptChanges none 提交所有修改的数据,提交后的数据将不能再修改或者回滚。
rejectChanges none 回滚所有被删除的行。
mergeCells options 合并单元格,options参数包含如下属性:
index:行索引。
field:字段名。
rowspan:整合单元格要跨的行数。
colspan:整合单元格要跨的列数。
showColumn field 显示特定的列。
hideColumn field 隐藏特定的列。




<%@page language="java" pageEncoding="UTF-8"%>
<%@include file="/common/header.jsp"%>
<%@taglib prefix="cus" uri="/WEB-INF/tld/customized-tags.tld"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>新闻评论管理</title>
    <%@include file="/common/jsLib.jsp"%>
<script><!--
        
        function addNew(){
        var dt=new Date();
            var ah = screen.availHeight - 30;
    var aw = screen.availWidth - 10;
    var xc = (aw - 400) / 2;
    var yc = (ah - 350) / 2;
            openparentWindow("newWindow","添加XH_COMMENTS",xc,yc,"700","490","${ctx}/jsp/media/xhCommentsInitEdit.action?flag=add&dt="+dt.getTime(),true,true,true,false,true,"win");
       
        }
        function edit(row_Id){
        var dt=new Date();
            var ah = screen.availHeight - 30;
    var aw = screen.availWidth - 10;
    var xc = (aw - 400) / 2;
    var yc = (ah - 350) / 2;
            openparentWindow("newWindow","修改XH_COMMENTS",xc,yc,"700","350","${ctx}/jsp/media/xhCommentsInitEdit.action?flag=mod&xhComments.id="+row_Id+"&dt="+dt.getTime(),true,true,true,false,true,"win");
       
        }
        function view(row_Id){
        var dt=new Date();
            var ah = screen.availHeight - 30;
    var aw = screen.availWidth - 10;
    var xc = (aw - 400) / 2;
    var yc = (ah - 350) / 2;
            openparentWindow("newWindow","查看XH_COMMENTS",xc,yc,"700","350","${ctx}/jsp/media/xhCommentsView.action?xhComments.id="+row_Id+"&dt="+dt.getTime(),true,true,true,false,true,"win");
       
        }
        function close_win(){
        $("#newWindow").window("close");
        }
        function reloadDate(){
            $('#pagination').datagrid('clearSelections');
        search_xhComments();
        }
        function del(){
        var rows = $('#pagination').datagrid('getSelections');
        var ids = "";
for(var i=0;i<rows.length;i++){
ids += rows[i].id+"|";
}
if(rows.length<1){
   $.messager.alert('提示','至少选择一项删除!');
}else{
   $.messager.confirm("删除","确定要删除吗?",function(result){
       if(result){
               $.ajax({
                url : "xhCommentsDel.action",
                type: 'post',
                   dataType: 'json',
                   async : false,
                   data:{ 
                    ids : ids
                   },
                   error: function(){
                    $.messager.alert('错误','删除时出错!');
                   },
                   success: function(data){
                       if(data.result){
                        $.messager.alert('提示','删除成功!');
                        /**
                        *删除成功重新加载该页面
                        **/
                        search_xhComments();
                       }else{
                        $.messager.alert('错误','删除时出错!');
                       }
                   }
               });
       }
   });
}
        }
        
        //清除查询表单中的搜索条件
        /**
         *ff是代表这个表单
        *遍历form表单里面的元素如果是text类型的就把text类型的值值置为空,
        *如果是radio或者是checkbox那么就把元素checked属性设为false
        * 如果说option那么就把其值设置为第一个被选中
        **/
        function clear_form(ff){
            var elements = ff.elements;
            for(i=0;i<elements.length;i++){
                var element = elements[i];
                if(element.type=="text"){
                    element.value = "";
                }else if(element.type=="radio" || element.type=="checkbox"){
                element.checked = false;
                }else if(element.options!=null){
                element.options[0].selected  = true;
                }
            }
        }
        
        /***$(selector).val()返回第一个被选中元素的值。 赋值给:前面的属性
         *
         *
         *
        */
        function search_xhComments(){
        var queryParams = {
"xhComments.newsTitle": $("#newsTitle").val(),
                 "xhComments.content": $("#content").val(),
                 "queryCommentTimeStart" :$("#queryCommentTimeStart").val(),
                 "queryCommentTimeEnd" :$("#queryCommentTimeEnd").val(),
                 "queryReplyTimeStart" :$("#queryReplyTimeStart").val(),
                 "queryReplyTimeEnd" :$("#queryReplyTimeEnd").val()
  };        
        $('#pagination').datagrid('options').queryParams = queryParams;
        $("#pagination").datagrid('load'); 
        }
        
        $(function(){
        /**
        **
        **nowrap(截取)设置为true, boolean(布尔型)当数据长度超出列宽时将会自动截取。
        **queryParams(查询参数) object(对象)当请求远程数据时,发送的额外参数。
        **iconCls 这个是用来配置按钮等的图标的
        **striped(显示条纹) boolean(布尔型) 设置为true将交替显示行背景。
        **collapsible:true, 可折叠的是否设置为true
        **url(超链接) string(字符串) 一个用以从远程站点请求数据的超链接地址。
        **idField(id字段) string(字符串) 表明该列是一个唯一列。
        **remoteSort(远程排序) boolean(布尔型) 定义是否通过远程服务器对数据排序。
        **frozenColumns(固定列) array(数组) 跟列属性一样,但是这些列固定在左边,不会滚动。
        **在这里就是复选框在最左边不会滚动
        **columns(列)   array(数组) 数据表格列配置对象,查看列属性以获取更多细节。
        **pagination(分页) boolean(布尔型) 设置true将在数据表格底部显示分页工具栏。
        **onLoadSuccess     data 当数据载入成功时触发。
        **onLoadError none 当载入远程数据发生错误时触发。
        **checkbox(复选框) boolean(布尔型) 设置为true将显示复选框。
        **rownumbers(行数) boolean(布尔型) 设置为true将显示行数。
        **pageList(可选择的每页记录数) array 当设置分页属性时,初始化每页记录数列表。
        **onHeaderContextMenu e, field 当数据表格的列标题被鼠标右键单击时触发。
        **/
$('#pagination').datagrid({
title:'新闻评论列表',
//配置按钮的图标
iconCls:'icon-save',
nowrap: false,
striped: true,
collapsible:true,
url:'xhCommentsQuery.action',
queryParams:{
"xhComments.newsTitle": $("#newsTitle").val(),
"xhComments.newsTitle": $("#newsTitle").val(),
                    "xhComments.content": $("#content").val(),
                    "replyTime" :$("#replyTime").val(),
                    "queryCommentTimeStart" :$("#queryCommentTimeStart").val(),
                    "queryCommentTimeEnd" :$("#queryCommentTimeEnd").val(),
                    "queryReplyTimeStart" :$("#queryReplyTimeStart").val(),
                    "queryReplyTimeEnd" :$("#queryReplyTimeEnd").val()
},
idField:'id',
remoteSort: false,
frozenColumns:[[
   {field:'id',checkbox:true}
]],
columns:[[
         {field:'ip',title:'Ip',width:130},
         {field:'province',title:'来源',width:50},
         {field:'newsTitle',title:'新闻标题',width:200},
                          {field:'content',title:'评论内容',width:410},
                          {field:'commentTime',title:'评论时间',width:110,formatter:function(value,rec){
                        if(rec.commentTime==null) return;
                        var date = new Date(rec.commentTime.time);
                    var month = parseInt(date.getMonth()+1);
                  return month+'月'+date.getDate()+'日'+date.getHours()+':'+date.getMinutes();}}
,
/**
{field:'reply',title:'回复评论',width:120},


{field:'replyTime',title:'回复时间',width:89,formatter:function(value,rec){
if(rec.replyTime==null) return;
var date = new Date(rec.replyTime.time);
var month = parseInt(date.getMonth()+1);
return month+'月'+date.getDate()+'日  '+date.getHours()+'时'}}
,


{field:'userId',title:'回复人',width:60},
**/
         {field:'op',title:'查看',width:100,formatter:function(value,rec){
           return "<span style='color:red' οnclick=\"view('"+rec.id+"')\">查看</span>";
                        /** <!--   return "<span style='color:red' οnclick=\"view('"+rec.id+"')\">查看</span>&nbsp;<span style='color:red' οnclick=\"edit('"+rec.id+"')\">回复</span>-->";**/
                          }}
       ]],
//pagination(分页) boolean(布尔型)设置true将在数据表格底部显示分页工具栏。
pagination:true,
/**onLoadSuccess data当数据载入成功时触发。**/
onLoadSuccess:tabOnloadSuccess,
onLoadError:tabOnloadSuccess,
//rownumbers(行数) boolean(布尔型) 设置为true将显示行数。
rownumbers:true,
//pageList(可选择的每页记录数) array 当设置分页属性时,初始化每页记录数列表。
pageList:[10,20,30],
//onHeaderContextMenu e, field 当数据表格的列标题被鼠标右键单击时触发。
onHeaderContextMenu: function(e, field){
e.preventDefault();
if (!$('#tmenu').length){
createColumnMenu();
}
$('#tmenu').menu('show', {
left:e.pageX,
top:e.pageY
});
}
});
});


        var titles = new Array();
        function createColumnMenu(){
var tmenu = $('<div id="tmenu" style="width:150px;"></div>').appendTo('body');
var fields = $('#pagination').datagrid('getColumnFields');

for(var i=0; i<fields.length; i++){
var option = $('#pagination').datagrid('getColumnOption',fields[i]);
var obj = {};
obj.title = option.title;
obj.field = fields[i];
titles[i] = obj;
}
for(var i=0; i<titles.length; i++){
$('<div iconCls="icon-ok"/>').html(titles[i].title).appendTo(tmenu);
}
tmenu.menu({
onClick: function(item){
if (item.iconCls=='icon-ok'){
var field;
for(var i=0; i<titles.length; i++){
if(titles[i].title==item.text){
field = titles[i].field;
}
}
$('#pagination').datagrid('hideColumn', field);
tmenu.menu('setIcon', {
target: item.target,
iconCls: 'icon-empty'
});
} else {
var field;
for(var i=0; i<titles.length; i++){
if(titles[i].title==item.text){
field = titles[i].field;
}
}
$('#pagination').datagrid('showColumn', field);
tmenu.menu('setIcon', {
target: item.target,
iconCls: 'icon-ok'
});
}
}
});
}
$(window).resize(function(){
            $('#pagination').datagrid('resize',{
            width: document.body.clientWidth-20
            });
        });
    --></script>
</head>


<body>
<%@include file="/WEB-INF/template/content_title.jsp"%>


<form name="myform" method="post">


<div class="submitdata">
<table width="100%">
<tr>
<th width="15%">新闻标题</th>
<td width="35%"><input name="xhComments.newsTitle" id="newsTitle" value="${xhComments.newsTitle}" type="text"></td>
<th width="15%">评论内容</th>
<td width="35%"><input name="xhComments.content" id="content" value="${xhComments.content}" type="text"></td>
</tr>
<tr>
<th width="15%">评论时间</th>
<td width="35%">
<input name="queryCommentTimeStart" id="queryCommentTimeStart" 
value="<fmt:formatDate type='both' value='${queryCommentTimeStart}' />" 
type="text" class="Wdate" οnfοcus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',maxDate:'#F{$dp.$D(\'queryCommentTimeEnd\')}'})" >

-<input name="queryCommentTimeEnd" id="queryCommentTimeEnd" 
value="<fmt:formatDate type='both' value='${queryCommentTimeEnd}' />" type="text" 
class="Wdate" οnfοcus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'queryCommentTimeStart')}'})" ></td>
<!--   <th width="15%">新闻标题</th>
<td width="35%"><input name="xhComments.newsId" id="newsId" value="${xhComments.newsId}" type="text"></td>
-->

<th width="15%">回复时间</th>
<td width="35%"><input name="queryReplyTimeStart" id="queryReplyTimeStart" value="<fmt:formatDate type='both' value='${queryReplyTimeStart}' />" type="text" class="Wdate" οnfοcus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',maxDate:'#F{$dp.$D(\'queryReplyTimeEnd\')}'})" >
-<input name="queryReplyTimeEnd" id="queryReplyTimeEnd" value="<fmt:formatDate type='both' value='${queryReplyTimeEnd}' />" type="text" class="Wdate" οnfοcus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'queryReplyTimeStart\')}'})" ></td>
</tr>
<tr>

</tr>
<tr>
<td colspan="4" align="center">
<a href="###" class="easyui-linkbutton" οnclick="search_xhComments()" iconCls="icon-search">查询</a>&nbsp;
<a href="###" class="easyui-linkbutton" οnclick="clear_form(document.myform);" iconCls="icon-undo">清空</a>&nbsp;
<a href="###" class="easyui-linkbutton" οnclick="del();" iconCls="icon-remove">删除</a>
</td>
</tr>
</table>
</div>
<table cellspacing="0" cellpadding="0" width="100%" border="0">
<tr>
<td>
<div id="pagination" style="background:#efefef;border:1px solid #ccc;">

</div>
</td>
</tr>
</table>
</form>

</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值