jQuery MiniUI

 找回密码
 立即注册
查看: 4872|回复: 5
打印 上一主题 下一主题

datagrid 翻页多选后,点击翻页按钮,已经选中的数据不勾选 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2015-3-24 14:19:08 |只看该作者 |倒序浏览
我参考翻页选中的例子,用一个变量把选中存放着
http://www.miniui.com/demo/#src=buttonedit/selectGrid_Multi3.html
做了一个多选的效果页面,结果翻页时会丢失selectMap页中的选中数据。

Rank: 8Rank: 8

沙发
发表于 2015-3-24 14:39:15 |只看该作者
检查一下,你是不是翻页的时候把selectmap清空了

Rank: 1

板凳
发表于 2015-3-24 15:19:42 |只看该作者
felt 发表于 2015-3-24 14:39
检查一下,你是不是翻页的时候把selectmap清空了

监控一下,看到的情况是这样的:有四页数据,按下一页按钮,前三页各选一条数据,selectmap[0],[1],[2]都有数据,在从第四页按上一页按钮时,selectmap[0],[1],[2]还存在,但是选中数据没有了。每次翻页都会重新load的,不清楚哪里清空的。

Rank: 8Rank: 8

地板
发表于 2015-3-24 15:32:48 |只看该作者
miniui_1989 发表于 2015-3-24 15:19
监控一下,看到的情况是这样的:有四页数据,按下一页按钮,前三页各选一条数据,selectmap[0],[1],[2]都 ...

提供代码,我本地看一下

Rank: 1

5#
发表于 2015-3-24 15:51:22 |只看该作者
felt 发表于 2015-3-24 15:32
提供代码,我本地看一下

add.js
  1. /**
  2. *
  3. */
  4. mini.parse();
  5. var zqyldg=mini.get("fzcyGridList");
  6. var depID;
  7. var depName;
  8. var ztID;
  9. var ztName;

  10. //设置新增窗口部门名称的选中值来自页面传递的depID
  11. var addDeptName = mini.get("ALERS0303");
  12. // 获取表单数据
  13. var cxxzForm = new mini.Form("#search4AddForm");

  14. var ZFZTCODE =mini.get("ZFZTCODE");
  15. var ZFZTNAME =mini.get("ZFZTNAME");
  16. ////////////////////////////////////////////////////
  17. setData();
  18. function setData(){
  19.   var Selected=window.Owner.getGridSelected();
  20.    depID=Selected.BASE0521;
  21.    ztID=Selected.BASE0520;
  22.    depName=Selected.BASE0522;
  23.    ztName=Selected.BASE0501;
  24.    /////////////////////////////
  25.    addDeptName.setValue(depID);
  26.    //职权主体是大的部门还是小的主体,--小的主体
  27.    ZFZTNAME.setValue(ztName);
  28.    ZFZTCODE.setValue(ztID);
  29.    
  30.    // 提交数据
  31.    var cxzqData = cxxzForm.getData();
  32.    var cxzqJson = mini.encode([ cxzqData ]);
  33.    var loadFlag = "1";//点击新增时加载标识
  34.   zqyldg.load({
  35.     cxzqJson : cxzqJson,
  36.     loadFlag :"1",
  37.     depID : depID,
  38.     ztID : ztID
  39.   });
  40. }

  41. function searchZfzq4Add(){

  42.   // 获取表单数据
  43.   var cxxzForm = new mini.Form("#search4AddForm");

  44.   // 表单验证
  45.   cxxzForm.validate();
  46.   if (cxxzForm.isValid() == false) {
  47.       return;
  48.   }

  49.   // 提交数据
  50.   var cxzqData = cxxzForm.getData();
  51.   var cxzqJson = mini.encode([ cxzqData ]);

  52.   // 向后台提交数据
  53.   zqyldg.load({
  54.       cxzqJson : cxzqJson,
  55.       loadFlag : "2"
  56.   });
  57. }


  58. function add(){
  59.   depID = addDeptName.getValue();
  60.   depName = addDeptName.getText();
  61.   ztID = ZFZTCODE.getValue();
  62.   ztName =ZFZTNAME.getValue();

  63.   ///////////////////////////////
  64.   var rows=GetAllSelecteds();
  65.   if (rows.length > 0) {

  66.     var gridData=mini.encode(rows);

  67.     zqyldg.loading("操作中,请稍候......");
  68.   // 处理数据
  69.     $.ajax({
  70.       url : "/zfzrz/zfzq/zfzqservice/addztzq?theme=none",
  71.       type : "post",
  72.       data : {
  73.         selData : gridData,
  74.         depID : depID,
  75.         depName : depName,
  76.         ztID : ztID,
  77.         ztName : ztName
  78.       },
  79.       success : function(detext) {
  80.           var data = mini.decode(detext);
  81.           mini.alert(data.info);
  82.           // 重新载入数据列表
  83.           zqyldg.reload();
  84.           window.Owner.zqyldg.reload();
  85.         },
  86.         error : function() {
  87.         }
  88.       });
  89.     } else {
  90.      mini.alert(MessageUtil("MSGG005"));
  91.     }
  92. }
  93. /**
  94. * 关闭基本信息窗口
  95. *
  96. * @param action
  97. * @returns
  98. */
  99. function CloseWindow() {
  100.         window.CloseOwnerWindow();
  101. }


  102. /////////////////////////////////////
  103. //重写(参考,几乎没变)
  104. function GetSelecteds() {
  105.   var rows = zqyldg.getSelecteds();
  106.   return rows;
  107. }

  108. var selectMaps = {};
  109. function GetAllSelecteds() {
  110.   var data = [];
  111.   for(var pageIndex in selectMaps){
  112.       var rows = selectMaps[pageIndex];
  113.       data.addRange(rows);
  114.   }
  115.   return data;
  116. }
  117. function GetData() {
  118.   var rows = GetAllSelecteds();
  119.   var ids = [],lers0301s = [];
  120.   for (var i = 0, l = rows.length; i < l; i++) {
  121.       var row = rows[i];
  122.       ids.push(row.RECORDID);//获取翻页选中的RECORDID列表
  123.       lers0301s.push(row.LERS0301);//获取翻页选中的编号列表
  124.   }
  125.   var data = {};
  126.   data.RECORDID = ids.join(",");
  127.   data.LERS0301 = lers0301s.join(",");
  128.   return data;
  129. }
  130. ////////////////////////////////////////////
  131. function onGridLoad(e) {
  132.   var rows = selectMaps[zqyldg.getPageIndex()];
  133.   if(rows) zqyldg.selects(rows);
  134. }
  135. function onSelectoinChanged(e) {
  136.   var rows =zqyldg.getSelecteds();
  137.   selectMaps[zqyldg.getPageIndex()] = rows;
  138. }
复制代码
add.jsp
<body>
  <div style="margin: 5px">
    <fieldset >
      <legend>
      <span class="mini-button-span">查询条件</span>
      </legend>
      <div id="search4AddForm" class="fieldset-body">
        <table class="form-table" border="0" cellpadding="2" cellspacing="5">
          <tr>
            <td class="form-label" style="text-align: right;width: 80px;"
              nowrap="nowrap">部门:
              <!-- 主体编号 -->
              <input id="ZFZTCODE" name="ZFZTCODE" class="mini-hidden" />
              <!-- 主体名称 -->
              <input id="ZFZTNAME" name="ZFZTNAME" class="mini-hidden" />
              </td>
            <td><input id="ALERS0303" name="ALERS0303"
              class="mini-combobox" allowInput="true" valueFromSelect="true" style="width: 200px;"
              textField="name" valueField="id"
              url="/zfzrz/zfzq/zfzqservice/getbranchlist4combobox?theme=none"
              showNullItem="false" nullItemText="" allowInput="true"/></td>
              <td nowrap="nowrap">行为:</td><td><input id="ALERS0302" name="ALERS0302"
              class="mini-textbox" style="width: 150px;" vtype="sign" /></td>
            <td style="width:100%;text-align: right;"  ><a class="mini-button"
              iconCls="icon-find" onclick="searchZfzq4Add" ><span class="mini-button-span">查询</span></a>
            </td>
          </tr>
        </table>
      </div>

    </fieldset>
  </div>
<div class="mini-fit">
            <div class="mini-toolbar" style="height: 20px;" borderStyle="border:0px;">
              <span class="mini-button-span">职权列表(亲,您方便加好友吗,我qq:1071745437.)</span>
            </div><!-- allowCellEdit="true" allowCellSelect="true" allowCellValid="true" allowResizeColumn="true"  allowAlternating="true"  -->
            <div class="mini-fit" style="margin: 0px 0px 0px 0px">
              <div id="fzcyGridList" class="mini-datagrid" style="width: 100%; height: 100%;"
               url="/zfzrz/zfzq/zfzqservice/getztzqbyaddgridlist/add?theme=none" idField="id"
               allowResize="true"
                 multiSelect="true" totalField="Total" onselectionchanged="onSelectoinChanged" onload="onGridLoad">
                <div property="columns">
                  <%-- 复选框 --%>
                  <div type="checkcolumn" width="6%"></div>
                  <%-- 序号 --%>
                  <div type="indexcolumn" headerAlign="center" width="10%">序号</div>
                  <div field="RECORDID" visible="false"></div>
                  <%-- 成员姓名 --%>
                  <div field="LERS0301" name="LERS0301" headerAlign="center" width="45px"
                    align="left" allowSort="true">编号</div>
                  <%-- 部门 --%>
                  <div field="LERS0303" name="LERS0303" headerAlign="center"
                       width="100px"  align="left" allowSort="true">部门</div>
                  <%--名称 --%>
                  <div field="LERS0302" name="LERS0302" headerAlign="center" align="left"
                    allowSort="true">名称</div>
                 
                </div>
              </div>
            </div>
         <div style="text-align:center;">
             <a class="mini-button" plain="false" iconCls="icon-ok" onclick="add">
                <span class="mini-button-span">确定</span>
              </a>
              <span>&nbsp;</span>
              <a class="mini-button" plain="false" iconCls="icon-cancel" onclick="CloseWindow">
                <span class="mini-button-span">关闭</span>
              </a>
        </div>
        <div >&nbsp;</div>
          </div>
              <%=PathUtil.jsLink("com.bop.web.zfzrz", "/zfzq/js/addztzq.js")%>
</body>


Rank: 8Rank: 8

6#
发表于 2015-3-24 16:15:46 |只看该作者
miniui_1989 发表于 2015-3-24 15:51
add.jsadd.jsp

  

光看存储选中的代码基本和我们示例一致,应该没有问题的
你先剥离其他和表格相关的代码看一下

Archiver|普加软件

GMT+8, 2024-11-26 02:28 , Processed in 1.071358 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部