ICEfaces
  1. ICEfaces
  2. ICE-3741

Add support for using mouse click + "shift" and "ctrl" keys to select multiple rows in dataTable

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.8RC1, 1.8
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      ANY
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      You might want to achieve this feature on the application level as a workaround. For example, you could have a selectManyMenu component with row identifiers as options. then you could perform mouse click + "shift" key operation to select multiple options and then reflect them to the actual dataTable with ice:rowSelector component.
      Show
      You might want to achieve this feature on the application level as a workaround. For example, you could have a selectManyMenu component with row identifiers as options. then you could perform mouse click + "shift" key operation to select multiple options and then reflect them to the actual dataTable with ice:rowSelector component.

      Description

      when use rowselecting dataTable, we could select a row and press "shift" key then select another row then all rows in between will be selected.

        Issue Links

          Activity

          Hide
          Krashan Brahmanjara added a comment -

          I see that on every row you add two hidden inputs. I suppose that better solution will be enabling this part of code only if multiselect is enabled.
          if (rowSelectorFound) {
          > if (rowSelector.isEnhancedMultiple())

          { Element ctrlKeyEle = domContext.createElement(HTML.INPUT_ELEM); ctrlKeyEle.setAttribute(HTML.TYPE_ATTR, "hidden"); ctrlKeyEle.setAttribute(HTML.ID_ATTR, paramId + "ctrKy"); ctrlKeyEle.setAttribute(HTML.NAME_ATTR, paramId + "ctrKy"); Element shiftKeyEle = domContext.createElement(HTML.INPUT_ELEM); shiftKeyEle.setAttribute(HTML.TYPE_ATTR, "hidden"); shiftKeyEle.setAttribute(HTML.ID_ATTR, paramId + "sftKy"); shiftKeyEle.setAttribute(HTML.NAME_ATTR, paramId + "sftKy"); tBody.appendChild(ctrlKeyEle); tBody.appendChild(shiftKeyEle); > }

          Also instead hidden inputs javasript array can be used. But this is feature request only for performance issues.

          Show
          Krashan Brahmanjara added a comment - I see that on every row you add two hidden inputs. I suppose that better solution will be enabling this part of code only if multiselect is enabled. if (rowSelectorFound) { > if (rowSelector.isEnhancedMultiple()) { Element ctrlKeyEle = domContext.createElement(HTML.INPUT_ELEM); ctrlKeyEle.setAttribute(HTML.TYPE_ATTR, "hidden"); ctrlKeyEle.setAttribute(HTML.ID_ATTR, paramId + "ctrKy"); ctrlKeyEle.setAttribute(HTML.NAME_ATTR, paramId + "ctrKy"); Element shiftKeyEle = domContext.createElement(HTML.INPUT_ELEM); shiftKeyEle.setAttribute(HTML.TYPE_ATTR, "hidden"); shiftKeyEle.setAttribute(HTML.ID_ATTR, paramId + "sftKy"); shiftKeyEle.setAttribute(HTML.NAME_ATTR, paramId + "sftKy"); tBody.appendChild(ctrlKeyEle); tBody.appendChild(shiftKeyEle); > } Also instead hidden inputs javasript array can be used. But this is feature request only for performance issues.
          Hide
          Ken Fyten added a comment -

          Confirmed that the Mac Command key is working as expected.

          Show
          Ken Fyten added a comment - Confirmed that the Mac Command key is working as expected.
          Hide
          Adnan Durrani added a comment -

          Hi Krashan Brahmanjara,

          Sorry to say that you have got some misunderstanding, there are only two hidden fields added per table, not per row.

          Thanks,
          Adnan

          Show
          Adnan Durrani added a comment - Hi Krashan Brahmanjara, Sorry to say that you have got some misunderstanding, there are only two hidden fields added per table, not per row. Thanks, Adnan
          Hide
          Mandeep Hayher added a comment -

          Tested successfully on ICEFaces1.8 RC1 build2, jsp version component-showcase on tomcat5 server (windows machine).

          Show
          Mandeep Hayher added a comment - Tested successfully on ICEFaces1.8 RC1 build2, jsp version component-showcase on tomcat5 server (windows machine).
          Hide
          Joanne Bai added a comment -

          QA used JSP component-showcase and verified the fix again on ICEfaces trunk revision 18864

          Show
          Joanne Bai added a comment - QA used JSP component-showcase and verified the fix again on ICEfaces trunk revision 18864

            People

            • Assignee:
              Unassigned
              Reporter:
              Sam Xiao
            • Votes:
              6 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: