12 Replies Latest reply on Jun 28, 2020 7:32 PM by Eslam_Elbyaly

    Select All option selects only 40 rows in an interactive grid

    Eslam_Elbyaly

      Hi,

      Using Apex 18.2.

      I have a grid with 99 rows. When run the page and click the select all checkbox, I got only 40 rows selected. I reproduced it on apex.oracle.com but it's a bit different there. In 18.2. I select all then scroll down, rows after 40 are not getting selected, I'll have to uncheck the select all checkbox then reselect it. But in 20.1 when select all, it selects 40 rows then when I scroll down, rows after 40 are getting selected automatically.

      Edited,

      I need to select all rows IG retrieves when I click the select all check box.

       

      https://apex.oracle.com/

      ws = ESLAM_WS

      user = forhelp

      pwd = forhelppass

      app = Help

      page=  5

        • 1. Re: Select All option selects only 40 rows in an interactive grid
          andreml

          Hi Eslam,

           

          What exactly is your question?

          I’m guessing it could be about the difference and why there is one.

          However, I can (again) guess, this is a (intendedly) changed behavior.

          And I guessing one more: Some people had asked for this change in behavior.

          I remember, ones there was question here why not all records were marked in the backend (DB).

          You may smile about this however it’s question a little bit going in the same direction as yours.

          Well; I think the behavior in 20.1 is what the most people would like to have.

           

          What DO you like?

           

          Regards

          Andre

          • 2. Re: Select All option selects only 40 rows in an interactive grid
            Eslam_Elbyaly

            I need to select all rows IG retrieves when I clicj the select all check box.

            • 3. Re: Select All option selects only 40 rows in an interactive grid
              InoL

              A check box is a visual element on a web page. Therefore, only for visible records can you check the check box.

               

              The is no clear definition of "all records the IG retrieves". You mean all records when user has scrolled to the last record? That could be thousands of records. An IG doesn't retrieve "all records" until you've scrolled all the way to the last record.

               

              You've come up with a classic XY problem: "I need to select all rows when..." is a solution. Instead, tell us what the business problem is you need to solve.

              • 4. Re: Select All option selects only 40 rows in an interactive grid
                Eslam_Elbyaly

                Every user in my system has something called a privilege bag assigned to them. Each bag is assigned a number of pages of the app. This is handled in a page with a master-detail IG's. The master is for the bags and the detail for the pages assigned. There is another IG with the available pages, that is the pages that are not assigned to the selected bag yet. User can select one ,more or of the all available pages and transfer them to the detail IG then submit the page to get the pages assigned to the bag eventually.

                The available pages and bag's pages IG's are like a shuttle item. I could not use a shuttle because the source of the shuttle must be retrieved by it's LOV query.

                 

                I do not know if this is an x,y question. I think it's legitimate. It's a question about a specific function of a specific component. I think preventing users from asking those kind of questions isn't a good idea. And mentioning the use cases every time one asks a question is a burden.

                • 5. Re: Select All option selects only 40 rows in an interactive grid
                  andreml

                  Hi Eslam,

                   

                  I’m sorry but I fear nothing of the above is really helpful in order to provide you with help.

                  When your think that it is an unappropriated burden to clarify your thoughts and provide relevant information, I fear you cannot expect that someone else takes the time to guess what you want.

                  Try to contemplate a bit, and/or maybe ask a colleague to help you to.

                  This is a very good and proven method to order your own thoughts and make them accessible to others.

                  No one here wants to annoy or harm you, but to help. Do your part to make this possible.

                  If you mean to not have time for that – good luck.

                   

                  Regards

                  Andre

                  • 6. Re: Select All option selects only 40 rows in an interactive grid
                    Eslam_Elbyaly

                    I found a workaround or maybe a solution. Change pagination attribute to "Page" to get "Rows per page" attribute shown in the "Actions" menu then set it to "1000". This of course would work if the query does not retrieve more than 1000 rows. Fortunately, this suits my use case.

                    1 person found this helpful
                    • 7. Re: Select All option selects only 40 rows in an interactive grid
                      Eslam_Elbyaly

                      andreml wrote:

                       

                      Hi Eslam,

                       

                      I’m sorry but I fear nothing of the above is really helpful in order to provide you with help.

                      I gave you the whole story. What else did you need to know?

                      I know you want to help, Andre, and your help is always appreciated. I am just saying that not every questoin has to be accompanied with the whole story behind it especially, when I am asking about a specific functionality. As I said, it's legitimate. Any way thank's a lot for taking time trying to help me. I really appreciate it. Thanks.

                      • 8. Re: Select All option selects only 40 rows in an interactive grid
                        InoL

                        Actually the description of the use case is very helpful. As I said, what is "all records"? You don't want a user to be able to select thousands of records at once, because a user probably didn't even realize thousands were selected even though he only saw 40 on the screen.

                         

                        We have done exactly what you are trying to do: replace a shuttle for page authorization because of its limited useability. Instead we created a left hand side IG and a right hand side IG.

                        I have no access right now, but I can show you later how it works.

                        • 9. Re: Select All option selects only 40 rows in an interactive grid
                          InoL

                          So this is how we created two IG's as a shuttle for page authorization. Because of this, you now have way more functionality, like advanced search options on both sides.

                           

                           

                           

                          This won't solve your checkbox issue, as they still work as designed.

                          If you really want to grant access to all pages, create a button"Grant access to all" and run a PL/SQL process.

                          1 person found this helpful
                          • 10. Re: Select All option selects only 40 rows in an interactive grid
                            Eslam_Elbyaly

                            This is how I implemented it too.

                            user probably didn't even realize thousands were selected

                            When an app has i.e 400 pages, user could want to grant acess to 380 to a specific user. In that case he would select all 400 then only deselect 20. Those 20 are the pages he would need to realize, not the other 380.

                            How did you handle the select all problem? Or did not you?

                            • 11. Re: Select All option selects only 40 rows in an interactive grid
                              InoL

                              We have not come across such a situation (we have a 600 page application).

                               

                              IMHO if that is really the case on a regular basis, there is a flaw in authorization design. Something like that may be the case for one specific group, but should not be normal. I think the problem lies here:

                               

                              grant acess to 380 to a specific user

                               

                              You should not grant access to users, but to user authorization groups. That makes administration much easier.

                               

                              E.g. we do have an AUDITORS group that has read only access to all pages, but that was set once by a developer. After that, small changes can be made via the authorization page.

                              • 12. Re: Select All option selects only 40 rows in an interactive grid
                                Eslam_Elbyaly

                                InoL wrote:

                                 

                                We have not come across such a situation (we have a 600 page application).

                                 

                                IMHO if that is really the case on a regular basis, there is a flaw in authorization design. Something like that may be the case for one specific group, but should not be normal. I think the problem lies here:

                                 

                                grant acess to 380 to a specific user

                                 

                                You should not grant access to users, but to user authorization groups.

                                I was just giving that as an example. The bottom line is to assign somethings (pages or other components) to something(user or group or else). Any way, thanks for sharing your implementation and giving me a hand on this.