0 Replies Latest reply on Mar 8, 2013 2:00 PM by Sherwood Hoyt

    RF 4.2.3 and 4.3.1CR1 extendedDataTable multiple row selection produces incorrect selection list

    Sherwood Hoyt Newbie

      When the selectionMode="multiple" I am seeing incorrect row selections in the selection binding under specific scenarios.  I am checking the selection list in an a4j:ajax listener method.  The problem occurs if the table is rendered (e.g. by dragging a column to re-order it) between selecting a first row by clicking and selecting a second row by control-clicking.  If the table is not rendered in between selecting the first row and the second row, the problem doesn't occur. 

       

      I noticed a difference in the "wq_report_form:wq_param_table:2:wq_LOC_table:si" request parameter when the problem occurs (versus when the problem doesn't occur).  This parameter is missing an "x" in the value when the problem occurs.  See the following log output:

       

      ==============================================================

      DOESN'T WORK

      ==============================================================

      Click on row 1:

       

      Params: wq_report_form:wq_param_table:2:wq_LOC_table:si = 1,1|1||x, javax.faces.behavior.event = selectionchange, javax.faces.partial.execute = @component wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:1:wq_SUB_table:si = 1,1|1||x, AJAX:EVENTS_COUNT = 1, javax.faces.partial.render = @component, javax.faces.source = wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:0:wq_CORP_input = 48, wq_report_form = wq_report_form, javax.faces.partial.event = click, wq_report_form:wq_param_table:2:wq_LOC_table:wi = , javax.faces.ViewState = sRlzYYJ/edg4bgWeETVo4LK7vF9bq9ykISb+koCfvFhTvD2wuxHwG8cRw9OWDXFAAxzLSgHKflzjJ34VWOrNASy0X99r17PH/ZbyESb56HRw0qFtdhgVKT1OSk2WPlgl9jTYdw==, wq_report_form:wq_param_table:3:j_id1202755758_517dda59 = lastFullMonth, wq_report_form_SUBMIT = 1, org.richfaces.ajax.component = wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:1:wq_SUB_table:wi = , javax.faces.partial.ajax = true

       

      Selected rows = 1

       

      Change column order, control-click on row 2:

       

      Params: wq_report_form:wq_param_table:2:wq_LOC_table:si = 1,2|2||, javax.faces.behavior.event = selectionchange, javax.faces.partial.execute = @component wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:1:wq_SUB_table:si = 1,1|1||x, AJAX:EVENTS_COUNT = 1, javax.faces.partial.render = @component, javax.faces.source = wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:0:wq_CORP_input = 48, wq_report_form = wq_report_form, javax.faces.partial.event = click, wq_report_form:wq_param_table:2:wq_LOC_table:wi = , javax.faces.ViewState = sRlzYYJ/edg4bgWeETVo4LK7vF9bq9ykISb+koCfvFhTvD2wuxHwG7ZQZxfVJVmCAxzLSgHKflzjJ34VWOrNASy0X99r17PH/ZbyESb56HQUg5yFwRJn9+QfkVROyRlLIdK3VA==, wq_report_form:wq_param_table:3:j_id1202755758_517dda59 = lastFullMonth, wq_report_form_SUBMIT = 1, org.richfaces.ajax.component = wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:1:wq_SUB_table:wi = , javax.faces.partial.ajax = true

       

      Selected rows = 1, 1, 2

      ==============================================================

       

      Whereas, if the table is not rendered in between row clicks, the problem doesn't occur.  Here is the log output when it works properly:

       

      ==============================================================

      WORKS

      ==============================================================

      Click on row 1:

       

      Params: wq_report_form:wq_param_table:2:wq_LOC_table:si = 1,1|1||x, javax.faces.behavior.event = selectionchange, javax.faces.partial.execute = @component wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:1:wq_SUB_table:si = 1,1|1||x, AJAX:EVENTS_COUNT = 1, javax.faces.partial.render = @component, javax.faces.source = wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:0:wq_CORP_input = 48, wq_report_form = wq_report_form, javax.faces.partial.event = click, wq_report_form:wq_param_table:2:wq_LOC_table:wi = , javax.faces.ViewState = sRlzYYJ/edg4bgWeETVo4LK7vF9bq9ykISb+koCfvFhTvD2wuxHwGzWCFkJOhlZiAxzLSgHKflzjJ34VWOrNASy0X99r17PH/ZbyESb56HTcc9/i3fL1zzfHYRDhpW96FL5k0Q==, wq_report_form:wq_param_table:3:j_id1202755758_517dda59 = lastFullMonth, wq_report_form_SUBMIT = 1, org.richfaces.ajax.component = wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:1:wq_SUB_table:wi = , javax.faces.partial.ajax = true

       

      Selected rows = 1

       

      Change column order, control-click on row 2:

       

      Params: wq_report_form:wq_param_table:2:wq_LOC_table:si = 1,2|2||x, javax.faces.behavior.event = selectionchange, javax.faces.partial.execute = @component wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:1:wq_SUB_table:si = 1,1|1||x, AJAX:EVENTS_COUNT = 1, javax.faces.partial.render = @component, javax.faces.source = wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:0:wq_CORP_input = 48, wq_report_form = wq_report_form, javax.faces.partial.event = click, wq_report_form:wq_param_table:2:wq_LOC_table:wi = , javax.faces.ViewState = sRlzYYJ/edg4bgWeETVo4LK7vF9bq9ykISb+koCfvFhTvD2wuxHwG3euAKwrCSF6AxzLSgHKflzjJ34VWOrNASy0X99r17PH/ZbyESb56HQIEc6Dv/4ewwzQkKtMWopzgId3KA==, wq_report_form:wq_param_table:3:j_id1202755758_517dda59 = lastFullMonth, wq_report_form_SUBMIT = 1, org.richfaces.ajax.component = wq_report_form:wq_param_table:2:wq_LOC_table, wq_report_form:wq_param_table:1:wq_SUB_table:wi = , javax.faces.partial.ajax = true

       

      Selected rows = 1, 2

      ==============================================================

       

      Any help on this is appreciated.