Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

get the row number in a list control on button press

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    get the row number in a list control on button press

    Hi,

    I have a list control with a button. I need to get the row number of the list control when the button is pressed. Since this is a UX there is not rowNumber and the number I need is the one for the list for the button that is pressed. So I think i need something like the following:

    var rn = {dialog.Object}.getValue('list::Entered::<ZeroBasedRowNumber>');

    I've also tried

    var rn = {dialog.Object}.getValue(rowNumber);

    and about every variation I can think of.

    What I get as a result is just a blank so I don't think it has focus on the list control...

    any help would be appreciated.

    thanks,
    tom

    #2
    Re: get the row number in a list control on button press

    What I discovered is that when you place a button on the list control and press the button it does not give focus to that list item. If I click on the list item first then press the button on that item the row number is read and my control functions. So a button on a list control will not set focus on that list item.

    tom

    Comment


      #3
      Re: get the row number in a list control on button press

      Tom,

      Did you ever figure out how to force the list to give focus to the row you clicked a button on? I have a button on my list that I trigger action javascript to open a UX control to edit that row....but if I don't click on the row first before clicking on the button, it doesn't pick up the correct primarykey to properly load the UX component. Any hints would be appreciated! Thanks....dion

      Comment


        #4
        Re: get the row number in a list control on button press

        I'm having the same situation... any of you managed to get the row number without first clicking the row?

        Comment


          #5
          Re: get the row number in a list control on button press

          Originally posted by mastermind315 View Post
          I'm having the same situation... any of you managed to get the row number without first clicking the row?
          here is a video that explains how to do it.

          http://screencast.com/t/ZQcg9hOdJ5e



          as the video shows, the row number of the row you clicked on is available in the rowNumber variable that is passed into your event handler.

          to set focus to the row of the button that was clicked, you would put this code in the button's onClick event:


          Code:
          var l = {dialog.object}.getControl('{dialog.listId}');
          l.setValue(rowNumber,false);
          alert('you clicked on ' + rowNumber + ' and we have now given focus to this row');

          Comment


            #6
            Re: get the row number in a list control on button press

            Excellent! Thank you so much Selwyn. Makes perfect sense and easy to implement on my system. Appreciate the follow up.

            Comment


              #7
              Re: get the row number in a list control on button press

              Thank you so much!

              Comment


                #8
                Re: get the row number in a list control on button press

                Selwyn,

                Doesn't {dialog.object}.getControl() return a list object? I don't see setValue in the list of methods.

                Comment


                  #9
                  Re: get the row number in a list control on button press

                  Hi Selwyn,

                  I have been using arguments[0]. Is there any reason not to do this?

                  var rn = arguments[0] ;

                  var pkey = {dialog.Object}.listGetValue('List1','pkey',rn);

                  Thanks,
                  tom

                  Comment


                    #10
                    Re: get the row number in a list control on button press

                    Holy Smokes was this useful!

                    Thanks!

                    Comment


                      #11
                      Re: get the row number in a list control on button press

                      I know this is an old post, but I ran into this problem today. Unfortunately, while the solution seems straightforward, I can't quite get it to work. As illustrated in Selwyn's example, I have a button in my list with the code referenced above (in Selwyn's post), with the exception of the alert message. Once this javascript fires and the row has been selected, I want to fire some xbasic referencing the values in the selected row. I have set up the actions synchronously, wehereby the xbasic is the step after Selwyn's code. I've tested the xbasic and it works fine on its own, so I know its not that.

                      Thanks in advance for any assistance.

                      Comment


                        #12
                        Re: get the row number in a list control on button press

                        please submit a test case that shows the problem.

                        Comment


                          #13
                          Re: get the row number in a list control on button press

                          Thanks Selywn. Appreciate your response. I think I just got it working. Will report back with a test case if I run into an issue.

                          Comment


                            #14
                            Re: get the row number in a list control on button press

                            False alarm... I've attached a test case to illustrate the problem. In this example (hopefully not too overly simplistic), the list button attempts to run JavaScript synchronously: step 1: Select the row. Step 2: Run xbasic to populate the value of a textbox control. Note: In my application, step 2 has Xbasic to run an insert statement. Fortunately, the same problem exists in this simple example; that is, clicking the button does nothing.
                            What I've tired:

                            - just running Xbasic via the on click event and using an e.javascript statement to run the javascript there. Same result as above - clicking the button does nothing.
                            - In-line javascript (instead of synchronous) - runs, but most of the time performs the Xbasic first, defeating the purpose.

                            Thanks in advance!
                            Attached Files

                            Comment


                              #15
                              Re: get the row number in a list control on button press

                              i am surprised that you say 'clicking the button does nothing' -- in fact it shows a javascript error. the only way it would have 'done nothing' would have been if you were testing it in working preview using chrome and you had not opened the chrome debugger.

                              if you tested it in working preview using Internet Explorer (and you had configured IE to show javascript errors -- which is highly recommended), then you would have seen a Javascript error.

                              the javascript error is telling you that rowNumber is not defined.

                              the code you have in the button's on click event is:


                              Code:
                              {dialog.object}.runAction('js');
                              if you changed this code to:

                              Code:
                              alert(rowNumber);
                              {dialog.object}.runAction('js');
                              you would see that the alert shows the rowNumber, then you get the error saying that rowNumber is not defined.

                              this is correct -- rowNumber cannot be seen inside the Javascript action. so the error is correct.

                              your javascript action is very simple -- you don't really need a javascript action to do what you want -- therefore you should put the code directly in the button's onClick event -- and then the rowNumber variable will be visible.


                              so the code in your button's onclick event should be:


                              Code:
                              var l = {dialog.object}.getControl('{dialog.listId}');
                              l.setValue(rowNumber);
                              alert('you clicked on ' + rowNumber + ' and we have now given focus to this row');
                              {dialog.object}.ajaxCallback('','','setvalue','','',{deviceOfflineFunction: function() {   }});

                              Comment

                              Working...
                              X