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

Programmatically Hide a field

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

    Programmatically Hide a field

    Hello all,

    I'm at a loss on how to allow users to choose their own fields to be printed or exported. Say they have the following fields in a grid:

    LastName
    FirstName
    Address
    City
    State
    Zip

    They want to do a search for "NY" and export them to Excel (or printed on a report) but they only want LastName and Zip exported. How do I offer them that option? I'd thought of allowing them to choose which fields to export by adding another field and then using the ShowHide expression but that will still export the field. What I think I need to do is use the Column Properties "Hide column" feature but I don't know how/where to change that when the user is ready to export.

    LastName [x]
    FirstName [ ]
    Address [ ]
    City [ ]
    State [ ]
    Zip [x]

    Anyone else had to do something similar or can give me some ideas?

    Thanks

    -John

    #2
    Re: Programmatically Hide a field

    Hi John,

    Do they always only want LastName and Zip exported?

    Or, are you asking how to give the users a choice of which fields to export after the search?
    Regards
    Keith Hubert
    Alpha Guild Member
    London.
    KHDB Management Systems
    Skype = keith.hubert


    For your day-to-day Needs, you Need an Alpha Database!

    Comment


      #3
      Re: Programmatically Hide a field

      Hi Kieth,

      They want to choose the fields they want exported or printed, it could be different every time.

      Thanks

      -John

      Comment


        #4
        Re: Programmatically Hide a field

        Nobody ever had to do something similar? I'm open for any ideas or thoughts

        Comment


          #5
          Re: Programmatically Hide a field

          You are on the right track to build a UX component allowing them to check off the fields they want. Then when the UX is submitted, you use their selections in an xbasic routine to include only the items they selected. The export would just be a coded csv file that is downloaded after it is created. I don't know what you mean by "report" or how that differs from the export, but you would still have to generate the output using xbasic; it would be difficult to use Alpha's report writer to generate a totally flexible report based on selection. You can generate a CSV or a true Excel output, but the later is more difficult and requires learning the .Net functions to create Excel output.
          Steve Wood
          See my profile on IADN

          Comment


            #6
            Re: Programmatically Hide a field

            Hi Steve,

            Thanks for replying. I can live with giving them a text file or Excel file and they can generate whatever they want with Excel. Let me see if I can get something working using your suggestion.

            Thanks

            -John

            Comment


              #7
              Re: Programmatically Hide a field

              Hi Steve,

              Using a grid, I notice if I Hide a field then the Excel Export does not export that hidden field.

              To make this easier to explain and for me to test. Is it possible to create a button and once clicked it can hide a field using the Hide checkbox in the Column Properties? (See Pic).

              Thanks

              -John
              Attached Files

              Comment


                #8
                Re: Programmatically Hide a field

                Maybe an better question is where/how can I get access to that Hide property. Server Side events under e.tmpl ? I see MaxColumns, max_row, RecordNavigationStyle etc but I don't see Hide. Is there a place to get access to that property and change it?

                Thanks

                Comment


                  #9
                  Re: Programmatically Hide a field

                  This is a bit old (v10 app) but was an experimental app called "Dynamic Columns" to hide/show columns in a grid: http://ialpha5.com/dynamic_cols/Tabb...s_tabbedui.a5w. Here is the associated video: http://www.screencast.com/t/z6ioIlowPi
                  Steve Wood
                  See my profile on IADN

                  Comment


                    #10
                    Re: Programmatically Hide a field

                    Steve, thanks again. That looks like what I want to do but I don't know how. Do you have a downloadable file I can look at to see how you did it or is there another video that explains how you did it?

                    Thanks

                    -John

                    Comment


                      #11
                      Re: Programmatically Hide a field

                      Hi Steve,

                      Was there another video that shows me how to do the Hide fields?

                      Thanks

                      -John

                      Comment


                        #12
                        Re: Programmatically Hide a field

                        Hey,

                        You could create a row of action buttons (one per column) to be displayed in the toolbar section - they would toggle the particular column on and off.

                        You would place the toggle logic in the onclick event for each action button (in the example, the action is called SHOWMARKERS):
                        Code:
                        var myPointer = {grid.componentName}_BUTTONS_SHOWMARKERS;
                        if (myPointer.html == 'Hide FirstName') {
                        	{grid.object}.showGridColumn('FIRSTNAME',false);
                        	myPointer.html = 'Show FirstName';
                        } else {
                        	{grid.object}.showGridColumn('FIRSTNAME',true);
                        	myPointer.html = 'Hide FirstName';
                        }
                        myPointer.refresh();
                        Cheers,
                        Andy.

                        Comment


                          #13
                          Re: Programmatically Hide a field

                          Hi Andy,

                          I'll give it a shot. The property for "Hide" needs to be checked though, not sure this solution does that but I'll give it a go.

                          Thanks

                          -John

                          Comment


                            #14
                            Re: Programmatically Hide a field

                            Hi Andy,

                            Thanks for the tip but it didn't work. It hides the fields on screen but if you want to export to Excel then that field still gets exported. I need a way to get access to the Hide property on the grid so I can change it to True. After the user selects the fields he/she wants then if I go to another grid I need to be able to do something like e._set.Field2.hide = .t. so that Field2 is not available, then when they click on the Excel export it will not export that field. I just don't seem to be able to find where or if it's possible to get access to that "Hide" property.

                            Comment


                              #15
                              Re: Programmatically Hide a field

                              Ok, to hide 1 column, place this type of code in the OnGridExecute server-side event, where column 10 is the xbasic template column number:

                              Code:
                              e.tmpl.flagMustRecalculateGridLayoutAndControls = .t.
                              e.tmpl.field_info[10].Column.Hide = .t.
                              However, you still have work to do because you need to trigger this event (possibly using toggle action buttons in the toolbar area, one per column, to perform a callback), and use xbasic logic to keep track of which columns to hide or show.

                              Sounds like a bit of work. Must be a better way....

                              Comment

                              Working...
                              X