代码之家  ›  专栏  ›  技术社区  ›  paulsm4

dojo gridx偶尔会以错误的顺序显示行

  •  1
  • paulsm4  · 技术社区  · 8 年前

    我使用的是IBM Content Navigator 2.0.3附带的Dojo和Dojo/Gridx。

    网格数据来自我自己的全局数组,我将其用于其他用途。

    大多数时候,一切都很好。但有时这些行的显示顺序会有问题。例如,它将显示行5、0、2、3、4、5、6…,而不是预期的顺序0、1、2、3、4、1、6…。就好像行被“交换”了。

    我不知道为什么-是什么导致了这种行为。

    当我在chrome开发者工具中查看gridx存储时,顺序是正常的:

      - this.grid.store:
      add:ƒ ()
      data:Array(11)
        0:{mappedName: "FNOL Email.html", claimNumber: "K00000133690", description: "FNOL", documentType: "", contentRcvDate: "06/11/2018", …, "A1001001A18F11B80705D00000"}
        1:{mappedName: "FNOLAck.msg", claimNumber: "K00000133690", description: "FNOL Acknowledge", documentType: "", contentRcvDate: "06/11/2018", …, "A1001001A18F11B80802G00002"}
        2:{mappedName: "imagefile.gif", claimNumber: "K00000133690", description: "Claim FNOL for Smithers", documentType: "", contentRcvDate: "06/11/2018", …, "A1001001A18F11B80903A00004"}
        3:{mappedName: "2-imagefile.gif", claimNumber: "K00000133690", description: "COR INS16", documentType: "", contentRcvDate: "06/11/2018", …, "A1001001A18F11B81002A00006"}
        4:{mappedName: "MSOutlookMessage.msg", claimNumber: "K00000133690", description: "MSOutlookMessage", documentType: "", contentRcvDate: "06/11/2018", …, "A1001001A18F11B81056G00008"}
        5:{mappedName: "MSWord.doc", claimNumber: "K00000133690", description: "signed medical authorization", documentType: "", contentRcvDate: "06/11/2018", …, "A1001001A18F11B81148F00010"}
        6:{mappedName: "PDF Document.pdf", claimNumber: "K00000133690", description: "Incident Report", documentType: "", contentRcvDate: "06/11/2018", …, "A1001001A18F11B81228B00012"}
       ...
    

    商店的索引顺序也正确:

      idProperty:"cm8DocId"
      index:
        A1001001A18F11B80705D00000:0
        A1001001A18F11B80802G00002:1
        A1001001A18F11B80903A00004:2
        A1001001A18F11B81002A00006:3
        A1001001A18F11B81056G00008:4
        A1001001A18F11B81148F00010:5
        A1001001A18F11B81228B00012:6
        ...
    

    但是这些行在网格上显示的顺序不对。

    当我查看chrome开发人员工具中的HTML元素时(例如: <div class="gridxRow" role="row" rowid="A1001001A18F11B81148F00010" rowindex="0"...> ,索引5显示为第一行,行索引0。等等。

    问:你知道为什么会发生这种情况吗?

    问:对故障排除有什么建议吗?

    提前谢谢!

    1 回复  |  直到 8 年前
        1
  •  0
  •   paulsm4    8 年前

    我从包含我的网格的Dojo小部件中清理了一些无关的“导入”…问题“消失”了:

    define([
     "dojo/_base/declare",
     "dojo/_base/lang",
     "dojo/_base/connect",
     "dojo/dom-style",
     "dijit/_WidgetBase",
     "dijit/_TemplatedMixin",
     "dijit/_Contained",
     "dijit/_WidgetsInTemplateMixin",
     "ecm/model/Request",
     "dijit/layout/ContentPane",
     "gridx/Grid",
     //"gridx/core/model/cache/Sync",
     "dojo/store/Observable",
     "dojo/store/Memory",
     "gridx/modules/select/Row",
     "gridx/modules/extendedSelect/Row",
     "gridx/modules/IndirectSelect",
     "gridx/modules/RowHeader",
     //"gridx/modules/ColumnResizer",
     //"gridx/modules/SingleSort",
     //"gridx/modules/move/Row",
     "gridx/modules/VirtualVScroller",
     "ecm/widget/dialog/BaseDialog",
     //"ecm/widget/_MoveUpDownGridxMixin", 
     "ecm/widget/Button",
     "ecm/widget/CheckBox",
     "myPluginDojo/CustomDownloadDef",  
     "myPluginDojo/CustomPrintCCD",  
     "myPluginDojo/ManifestDef",
     "dojo/text!./templates/ManifestGridWidget.html"
    
     ],
     function (declare, lang, connect,domStyle, _WidgetBase, _TemplatedMixin, _Contained, _WidgetsInTemplateMixin, 
         Request, ContentPane, Grid, Observable, Memory, SelectRow, ExtendedSelectRow, IndirectSelect, 
         RowHeader,  VirtualVScroller, BaseDialog, Button, CheckBox, 
         CustomDownloadDef, CustomPrintCCD, ManifestDef, template) {    
     return declare("myPluginDojo.ManifestGridWidget", [BaseDialog, _WidgetBase, _TemplatedMixin, _Contained, _WidgetsInTemplateMixin], {
         ...
    

    <=注意注释掉的条目。

    即使我的代码没有明确 使用 任何这些…从小部件定义中删除不需要的“导入”(并且,可能是从运行时环境中删除)似乎可以解决问题(?)

    推荐文章