Java 数据表“全部”选项,“显示100个条目中的1到0”

Java 数据表“全部”选项,“显示100个条目中的1到0”,java,jquery,datatables,Java,Jquery,Datatables,我有一个选项卡式数据表,我想将“全部”选项添加到我的菜单长度中 我有10个、25个、50个、75个条目,它们都可以正常工作,但是“all”选项返回100个条目中的1到0。。。在firebug中,我可以看到选择“全部”的数据为空。我是否缺少一个特定的参数?谢谢 JS: JSON: myBatis <select id = "getPage" parameterType="map" resultType="com.ti.ds.psi.domain.Data"> SELECT *

我有一个选项卡式数据表,我想将“全部”选项添加到我的菜单长度中

我有10个、25个、50个、75个条目,它们都可以正常工作,但是“all”选项返回100个条目中的1到0。。。在firebug中,我可以看到选择“全部”的数据为空。我是否缺少一个特定的参数?谢谢

JS:

JSON:

myBatis

<select id = "getPage" parameterType="map" resultType="com.ti.ds.psi.domain.Data">
    SELECT * FROM (
    SELECT rownum rn, s.* FROM (
    SELECT item1, item2
    FROM items
    WHERE upper(item1) like '%'||upper(#{sSearch_0})||'%'
    AND upper(item2) like '%'||upper(#{sSearch_1})||'%'
    ORDER BY
    <choose>
        <when test="sidx==0">item1</when>
        <when test="sidx==1">item2</when>
    </choose>
    ${sord}
    ) s
    )
    WHERE rn BETWEEN #{start} AND #{start} + #{rows}
</select>

修正了。。我在查询中添加了一个简单的片段-'或{rows}=-1'

“行”定义为我的表长度


谢谢。

我们需要更多信息来回答您的问题。对不起,在我完成之前按enter键。为什么您要给参数aLengthMenu而不是lengthMenu?当您单击“全部”时,请求不会以iDisplayLength=-1发送?如何在service.getPage中处理此问题?@CarlosCalla使用lengthMenu代替aLengthMenu仅显示默认选择
@RequestMapping(value = "datatable.json", method = RequestMethod.GET)
@ResponseBody
public Page getDataTablePage(
        @RequestParam int sEcho,
        @RequestParam int iColumns,
        @RequestParam int iSortCol_0,
        @RequestParam String sSortDir_0,
        @RequestParam String sSearch_0,
        @RequestParam String sSearch_1,
        @RequestParam int iDisplayStart,
        @RequestParam int iDisplayLength) {
    logger.info("Inside " + ((StackTraceElement[]) Thread.currentThread().getStackTrace())[1]);
    Integer total = service.getCount();
    Integer totalMatching = service.getCountBySearch(sSearch_0, sSearch_1);       
    List<Data> rowData = service.getPage(iDisplayStart, iDisplayLength, iSortCol_0, sSortDir_0,
            sSearch_0, sSearch_1);
    Page p = new Page();
    p.setsEcho(sEcho);
    p.setiTotalRecords(total);
    p.setiTotalDisplayRecords(totalMatching);
    // Convert list of unordered hashmaps into 2D array for DataTables
    String[][] pageData = new String[rowData.size()][iColumns];
    // For each row
    for (int r = 0; r < rowData.size(); r++) {
        Data d = rowData.get(r);
        pageData[r][0] = d.getItem1();
        pageData[r][1] = d.getItem2();
    }
    p.setaaData(pageData);
    logger.info("p=" + p);
    return p;
}
<select id = "getPage" parameterType="map" resultType="com.ti.ds.psi.domain.Data">
    SELECT * FROM (
    SELECT rownum rn, s.* FROM (
    SELECT item1, item2
    FROM items
    WHERE upper(item1) like '%'||upper(#{sSearch_0})||'%'
    AND upper(item2) like '%'||upper(#{sSearch_1})||'%'
    ORDER BY
    <choose>
        <when test="sidx==0">item1</when>
        <when test="sidx==1">item2</when>
    </choose>
    ${sord}
    ) s
    )
    WHERE rn BETWEEN #{start} AND #{start} + #{rows}
</select>