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



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

Show/Hide based on edit mode

  • Filter
  • Time
  • Show
Clear All
new posts

    Show/Hide based on edit mode

    I generally design my grids to be edit on demand. Some fields I would like to show only if I am in edit mode. Could swear I figured out how to do this before, and for the life of me I cannot remember how I did it.

    So what expression do I put into the "Show/hide expression" field?

    Re: Show/Hide based on edit mode

    grid.rowState = 'change' but then the fields would only appear after you have changed another field

    Tell me and I'll forget; show me and I may remember; involve me and I'll understand


      Re: Show/Hide based on edit mode

      I'd think {Grid.object}._editModeRows[data.rowNumber] = true should do it but it gives a javascript conversion error and I'm not deep enough into this yet to know why
      Last edited by Clipper87; 12-29-2011, 03:25 AM.

      Tell me and I'll forget; show me and I may remember; involve me and I'll understand


        Re: Show/Hide based on edit mode

        Thanks for the assistance. I am looking at the client side events, "afterRowSwitchFromEditable", and "afterRowSwitchToEditable" attempting to place a 1 or 0 into a global variable, and trying true and false, but having referring to that variable simply results in either the row showing all the time, or never. Seems like this should work, but doesn't

        I thought maybe it was working, but possibly to late to affect the grid, but if that was true, then it should be working the opposite way.


          Re: Show/Hide based on edit mode

          Turns out that the expression {Grid.object}._editModeRows[data.rowNumber] = true cannot be converted to javascript so use a js function in your show/hide:

          showfield() = true

          In your js functions create this function:

          function showfield(){
          var rowNum = {Grid.Object}._selectedRow;

          return {Grid.Object}._editModeRows[rowNum-1];

          Note that you have to subtract 1 of the rowNum value because the _editModeRows property array starts with index 0 whereas the _selectedRow property starts counting from 1.
          You can easily check this in Firebug:


          One disadvantage that I haven't figured out yet is how to hide the field again when the edit mode is not cancelled but when you simply 'demand' to edit another row by clicking on the edit row icon.

          Tell me and I'll forget; show me and I may remember; involve me and I'll understand


            Re: Show/Hide based on edit mode

            Thank you very much.

            I am sure there is a solution to the closing problem though. I have found that if you uncheck the "One edit row at a time" then it does not automatically close, so since you manually close, there isn't a problem. Not sure if I am worried about people editing more then one grid at a time.

            I did place an alert in the "afterRowSwitchFromEditable" event, and while it did fire when I exited the edit of a field, it didn't if I switched to editing another field. So for some reason it doesn't seem to know it has exited the edit.

            Using Firebug I did find that if you entered edit mode in one field, closed it, and opened it in another, it listed "_existingRowInEditMode" as 0, and "_rowNumber" as the currently editable row, but if you opened a field, then opened another into edit mode, it listed it as the "_rowNumber" for the grid it just closed, but it listed the "_rowNumber" for the current row.


            Not sure exactly what to do with this, but I am wondering if I can just allow more then one row to be editable. In this case it does in fact eliminate this problem. You can put as many records as you want into edit mode, but then you have to close it which results in the hide function working right. Although if any record is submitted, it closes all other open grids, and the show/hide again functions properly.

            Another interesting when more then one record is editable at a time, when one record is submitted, the other ones close, and interestingly enough it succeeds in hiding the fields I want hidden. I am sure this is as simple as not refreshing the row when another record is put into edit mode without closing out a previous record.

            **Update. As I typed the above line, I got an idea, and put a "{grid.Object}.refresh();" int the "afterRowSwitchFromEditable" event. While it still leaves the hidden field viewable, if you exit the edit mode of any record, it refreshes, resulting it the field being hidden. Still not perfect as it won't refresh until the edit mode is left, or a record is submitted. Not a perfect solution, but a better. If nothing is editable, the fields are hidden.

            I did try putting the previous row number into a global variable, and attempted to refresh that row after the next row was placed into editable mode, but for some reason that didn't work. I couldn't even get it to refresh a row when selecting a specific row.

            I attempted this code:
            if(typeof prevRow == 'undefined') {
            	prevRow = {Grid.Object}._selectedRow;
            else {
            	setTimeout(function() {
            	prevRow = {Grid.Object}._selectedRow;
            The alert was just to test to make sure I was getting the right row number. But it wouldn't refresh just the row, which would be preferable.


              Re: Show/Hide based on edit mode

              detailView.rowState <> 'enter'

              in the show hide expression does the trick. This causes the field to show only when you edit a record, not when entering a new record
              Gary S. Traub, Ph.D.


                Re: Show/Hide based on edit mode

                Thanks, but not sure if this matters but this is a grid, but I tried both grid and detailView:


                I have the "grid.rowState <> 'enter' " on the "A" and "detailView.rowState <> 'enter' " on the "1". Left record is editable, and the right one isn't. Unfortunately it isn't working in either case.

                And while the first solution seemed to be working, it unfortunately hides the fields in new records. But I found a solution to that by changing the show/hide expression to:
                showfield() = true or data.rowNumber =-1