初学EasyUI datagrid:如何用datagrid进行数据的查询

也许在我们接触EasyUi前看到类似于以下图片的排版时,会觉得很高端。事实上,这利用到一个插件,即EasyUI,而数据这么排列是用到了数据网格datagrid。(图是转的)

http://www.jbxue.com/d/file/2014/05/20140517181819828.png

接下来将讲讲如何利用数据网格将数据这么显示出来。

首先,通常jsp中都会有这么一些代码:

<table id="tt" title="Formatting Columns" class="easyui-datagrid" style="width:550px;height:250px"    
        url="data/datagrid_data.json"    
        singleSelect="true" iconCls="icon-save">    
    <thead>    
        <tr>    
            <th field="itemid" width="80">Item ID</th>    
            <th field="productid" width="80">Product ID</th>    
            <th field="listprice" width="80" align="right" formatter="formatPrice">List Price</th>    
            <th field="unitcost" width="80" align="right">Unit Cost</th>    
            <th field="attr1" width="100">Attribute</th>    
            <th field="status" width="60" align="center">Stauts</th>    
        </tr>    
    </thead>    
</table>


这就是数据网格的模板,而Item ID、Product ID、List Price...就是我们所看到的那一行。

至于table中的属性见详细文档。

那个数据网格是怎么调转到anction层 或是servlet的呢?这就离不开datagrid中的url="data/datagrid_data.json",这就是要调转的链接。也就说当我们打开这jsp时,会先执行这链接的内容,查询数据库之类的...,然后将数据显示在jsp页面上。

今天就先到这了..明白有对EasyUI更深入的了解再补充。

-------------------------------------------------------------------------------------------------------------------------------------------------

以上是我对datagrid 数据查询的初步认识。今天真正实现了这个功能,请让我为大家贴上代码

首先涉及到的文件:struts.xml、WorkAction.java、workList.jsp

struts.xml主要代码如下:

  

 <package name="work" extends="json-default">
        <action name="workList" class="com.bossin.work.action.WorkAction" method="execute">
            <result name="success" type="json">
                 <param name="root">resultObj</param>
            </result>
            
        </action>        
    </package>


注意:这里package继承的不再是“struts-default”,而是"json-default"

WorkAction.java代码如下:

public class WorkAction extends ActionSupport{
    private WorkService ws = new WorkServiceImpl();
    private JSONObject resultObj = null;

    public JSONObject getResultObj() {
        return resultObj;
    }

    public void setResultObj(JSONObject resultObj) {
        this.resultObj = resultObj;
    }

    public String execute(){ 
        List<Works> list = ws.getWorks(year, work_name, work_author);
        JSONObject data = new JSONObject();
        if(null!=list && !list.isEmpty()){
            JSONArray rows = JSONArray.fromObject(list); //将list转成json字符串
            System.out.println(rows);
            data.put("total", list.size()); 
            data.put("rows", rows);
            setResultObj(data);
        }
            else{
                data.put("total", 0);
                data.put("rows", "[]");
                setResultObj(data);


        }
            
            return "success";
    }

}


一定要写get、set方法,为的是把resultObj返回到jsp,也就是数据网格下

重头戏:workList.jsp代码如下:

 

   <!-- 数据网格 -->
    <div region="center" border="false">
        <table id="dataGrid" title="作品列表" class="easyui-datagrid"
            url="<%=request.getContextPath()%>/workList.action"
            toolbar="#toolbar" pagination="true" rownumbers="true" pageSize="20"
            border="false" fit="true" fitColumns="true" singleSelect="false"
            idField="id" sortName="id" sortOrder="desc" >
            <thead>
                <tr>
                    <th field="id" checkbox="true" align="center"></th>
                    <th field="year" sortable="true",sortOrder="asc" align="center" width="50">年份</th>
                    <th field="workName" sortable="true",sortOrder="asc" align="center" width="150">作品名</th>
                    <th field="author" sortable="true",sortOrder="asc" align="center" width="50">作者</th>
                    <th field="meaning" sortable="true",sortOrder="asc" align="center" width="150">设计含义</th>
                    <th field="minImgUrl" sortable="true",sortOrder="asc" align="center" width="100">小图链接</th>
                    <th field="img1" sortable="true",sortOrder="asc" align="center" width="100">作品链接1</th>
                    <th field="img2" sortable="true",sortOrder="asc" align="center" width="100">作品链接2</th>
                    <th field="img3" sortable="true",sortOrder="asc" align="center" width="100">作品链接3</th>

                </tr>
            </thead>
        </table>
    </div>

这里的field="year"、 field="img3"这些一定要数据库中表的字段对应。这里我用的是class方式来渲染,喜欢用js的也可用js,都差不多



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值