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

Has anyone used a5_generate_html_table Function

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

    Has anyone used a5_generate_html_table Function

    Hi
    Has anyone used the a5_generate_html_table Function?
    https://www.alphasoftware.com/docume...20Function.xml

    I have a AlphaDAO resultset that I want to put into a HTML table .... so I can include it in an email message, rather than having an attachment

    Thought I had hit pay-dirt when I found this in the documentation but I can't figure it out.

    Has anyone used this? If so,
    1, Can you share a code example?
    2, Is this one of these desktop only functions, the documentation is not clear.

    I really want to understand what the 2nd Pram is
    P a5_Generate_HTML_Table(P rs ,C style [,N maxRows [,L flagShowHTML ]])

    rs - Pointer
    style - Character
    maxRows - Numeric
    flagShowHTML - Logical
    Description
    Takes a pointer to an open .dbf table, or an AlphaDAO resultset and generates an HTML table for all of the columns in the row.


    Thanks in advance

    Bruce
    Last edited by kiwibruce; 08-08-2018, 11:48 PM.

    #2
    Re: Has anyone used a5_generate_html_table Function

    I believe this is one of those badly documented, out of date functions. Using the resultset option... when I supply 1 parameter I get a message that 4 parameters are required. When I supply 2 parameters (as the doc requires) I get the error... "Line 44 Property no found rs.columninfo subelement not found."

    EDIT. Sorry. Based on Glen's code, I found an error in my code. This function works as Glen describes.
    Last edited by Davidk; 08-09-2018, 11:19 AM.

    Comment


      #3
      Re: Has anyone used a5_generate_html_table Function

      I got the following to work in interactive just grabbing 10 rows from a sql audit_log table

      DIM SHARED cn AS SQL::Connection
      DIM SHARED rs AS SQL::ResultSet
      DIM SHARED args AS SQL::arguments
      DIM SHARED qry AS C
      DIM p as p

      'qry string
      qry=<<%sql%
      SELECT TOP 10 * FROM audit_log ORDER BY id DESC
      %sql%

      'open connection
      cn.open("::NAME::conn")

      cn.Execute(qry)

      rs = cn.ResultSet

      p = a5_generate_html_table(rs,"",10,.t.)
      Glen Schild



      My Blog

      Comment


        #4
        Re: Has anyone used a5_generate_html_table Function

        Originally posted by glenschild View Post
        I got the following to work in interactive just grabbing 10 rows from a sql audit_log table
        Thanks Glen for posting that! I have emulated your code example in the interactive window

        So... next dummy question... how do I get the "HTML Table" that is in P into a string
        Where I want to get to is inserting this into an email body
        e.g

        Hi John,

        Here is your outstanding tasks:
        <<HTML Table>>

        Thanks

        Bruce
        Thanks in advance

        Comment


          #5
          Re: Has anyone used a5_generate_html_table Function

          OK worked that out
          str = property_to_string(p)
          does the trick,

          Now next thing is seeing if I can work the 2nd Parameter Style
          Boy I wish there was some more in the documentation.

          Comment


            #6
            Re: Has anyone used a5_generate_html_table Function

            I have in the past had to use html in a report so created a static html box which was populated by a calculated field. The calculated field uses a user defined function to render the html. I have not tried the styling section as did not need anything other than a basic response. Will be interested to see if you can crack this. Might be worth pinging an email into Sara Mitchell to see if she can beef up the documentation on this!
            Glen Schild



            My Blog

            Comment


              #7
              Re: Has anyone used a5_generate_html_table Function

              Damm spoke too soon

              Here is my a5w test page ()
              Code:
              <%a5
              
              ? "Start Here<br/>"
              DIM cn AS SQL::Connection
              DIM rs AS SQL::ResultSet
              DIM args AS SQL::arguments
              DIM qry AS C
              dim strr as c
              DIM p as p[0]
              
              'qry string
              qry=<<%sql%
              SELECT TutorName, TutorActive, CourseCode, CourseName FROM tblSmsTutor WHERE EmailAddress <> ''
              %sql%
              
              'open connection 
              cn.open("::name::connVision2020")
              
              cn.Execute(qry)
              
              rs = cn.ResultSet
              
              p = a5_generate_html_table(rs,"border: 1px solid black;",6,.T.)
              strr = property_to_string(p)
              ? strr
              %>

              So I get a table then it dumps it again as a big ass text string
              Bit at a loss now..
              Any ideas? I will keep digging

              Oh Note: the style parameter does nothing or should I say I have no clue what syntax it would be expecting.
              Last edited by Sarah Mitchell; 08-29-2018, 09:56 AM. Reason: typo

              Comment


                #8
                Re: Has anyone used a5_generate_html_table Function

                Originally posted by glenschild View Post
                Might be worth pinging an email into Sara Mitchell to see if she can beef up the documentation on this!
                How do I get hold of Sara?

                Comment


                  #9
                  Re: Has anyone used a5_generate_html_table Function

                  You don't really need to convert the output from a5_generate_html_table. a5_generate_html_table returns a pointer variable with 2 elements... completePage and htmlTable. completePage is the full code for an HTML page. htmlTable is the actual Table code.

                  If all you want is the table, then you only need to do this...

                  Code:
                  dim ht as p
                  ht = a5_generate_html_table(rs,"",2,.t.)
                  dim htmlTable as c
                  htmlTable = js_escape(ht.htmlTable)
                  I'm using this in an AjaxCallback... so... in order to return the html Table code back to the Client, use js_escape. Otherwise, it's just this...

                  Code:
                  htmlTable = ht.htmlTable

                  This is a sample of the code returned from this function...

                  Code:
                  <table cellspacing="0" cellpadding="2" class="FormTABLE"><tr>
                  	<th class="ColumnTD">FirstName</th>
                  	<th class="ColumnTD">Lastname</th>
                  </tr><tr class="">
                  	<td class="DataTD">Davidx</td>
                  	<td class="DataTD">Willmington</td>
                  </tr>
                  <tr>
                  	<td style="padding: 0px;" colspan="2" class="SeparatorTD"></td>
                  </tr><tr class="">
                  	<td class="AltDataTD">Freddy</td>
                  	<td class="AltDataTD">Grahamxx</td>
                  </tr>
                  <tr>
                  	<td style="padding: 0px;" colspan="2" class="SeparatorTD"></td>
                  </tr></table>
                  You'll see that Class Names are filled in... e.g. ColumnTD, DataTD etc. These classes, as far as I can see, don't existing in any the Styles within Alpha. If you want to use them, it's up to you to create them.

                  When you provide the "Style" parameter... e.g. "Alpha"... as in...

                  Code:
                  ht = a5_generate_html_table(rs,"Alpha",2,.t.)
                  You are actually providing a Class Name. This option prefixes the Class Names already provided... and so you get...

                  Code:
                  <table cellspacing="0" cellpadding="2" class="AlphaFormTABLE"><tr>
                  	<th class="AlphaColumnTD">FirstName</th>
                  	<th class="AlphaColumnTD">Lastname</th>
                  </tr><tr class="">
                  	<td class="AlphaDataTD">Davidx</td>
                  	<td class="AlphaDataTD">Willmington</td>
                  </tr>
                  <tr>
                  	<td style="padding: 0px;" colspan="2" class="AlphaSeparatorTD"></td>
                  </tr><tr class="">
                  	<td class="AlphaAltDataTD">Freddy</td>
                  	<td class="AlphaAltDataTD">Grahamxx</td>
                  </tr>
                  <tr>
                  	<td style="padding: 0px;" colspan="2" class="AlphaSeparatorTD"></td>
                  </tr></table>

                  Comment


                    #10
                    Re: Has anyone used a5_generate_html_table Function

                    Thanks David, as always you are on top of all this stuff. Boy I hope you are on Alpha's payroll for all you message board patrol work.

                    Comment


                      #11
                      Re: Has anyone used a5_generate_html_table Function

                      Sarah has updated the documentation on this function, Wow Fast work! Thanks Sarah!
                      https://www.alphasoftware.com/docume...20Function.xml

                      Comment


                        #12
                        Re: Has anyone used a5_generate_html_table Function

                        Originally posted by kiwibruce View Post
                        Sarah has updated the documentation on this function, Wow Fast work! Thanks Sarah!
                        https://www.alphasoftware.com/docume...20Function.xml
                        Any time. We have a lot of functions that need examples. While we are indeed actively working to add examples to everything, we may not be working on the functions you're using. Please continue to use the "Report" link at the bottom of the page to notify us if a function you're using could use some love.

                        Thanks!
                        Sarah Mitchell
                        Director of Customer Success | [URL="https://www.alphasoftware.com"]Alpha Software Corporation[/URL]
                        [B]Get in the know! [/B] Join us for our Weekly Webinars: [URL="https://www.alphasoftware.com/weekly-transform-tuesday-webinar"]TransForm Tuesday[/URL] and [URL="https://www.alphasoftware.com/weekly-alpha-anywhere-overview-webinar"]Wednesday's Alpha Anywhere Demo and Q&A[/URL]
                        Connect with us: [URL="https://www.instagram.com/alpha_software_corp/"]Instagram[/URL] | [URL="https://twitter.com/AlphaSoftware"]Twitter[/URL] | [URL="https://www.facebook.com/AlphaSoftware/"]Facebook[/URL] | [URL="https://www.linkedin.com/company/alpha-software"]LinkedIn[/URL] | [URL="https://www.youtube.com/user/AlphaSoftwareInc"]YouTube[/URL]

                        Comment

                        Working...
                        X