Hey Jim, thanks for your proposed solution,it worked as shown below, i hope this is how you imagined it but this works now the problem I still have &cant imagine is how I do the sum up of all of the item's purchase quantity, how would you go about it:
*CONTROLLER:* products=db().select(db.sales.ALL) *VIEW:* <script> $(function() { *//Script to hide the empty rows* $("table tr").each(function() { var cell = $.trim($(this).find('td').text()); if (cell.length == 0){console.log('empty'); $(this).addClass('nodisplay'); }});}); </script> <tbody> {{last_item_name=[]}} {{for sales in products:}} <tr> {{if sales.product.name not in last_item_name:}} <td>{{=sales.product.name}}</td> <td>{{=sales.product.Quantity}}</td> <td>{{=sales.quantity}}</td> {{last_item_name.append(sales.product.name)}} {{else:}} <td class="hideTd"> </td> {{pass}} {{pass}} </tr> </tbody> On Thursday, October 28, 2021 at 2:01:34 PM UTC+2 Jim S wrote: > In the solution I proposed, I would create a variable in my template and > sum it as I looped through the records. > > It might help if you showed a visual example of what you're trying to > accomplish. I may be misunderstanding the question, and if so, giving bad > advice. > > -Jim > > On Thursday, October 28, 2021 at 4:15:49 AM UTC-5 mostwanted wrote: > >> I am able to group them up using *(groupby) *e.g >> (*products=db().select(db.sales.ALL, >> orderby=db.sales.product.name <http://db.sales.product.name>, >> groupby=db.sales.product.name <http://db.sales.product.name>)*) but now >> I have a problem calculating the sum of each item's sold quantities. >> >> On Wednesday, October 27, 2021 at 8:27:50 PM UTC+2 Jim S wrote: >> >>> I have done this before, but not using SQLFORM.grid >>> >>> In a nutshell >>> >>> 1. Create table tag >>> 2. create your table header >>> 3. create a temp variable last_item_name and set to None >>> 4. loop through all the data you're going to display >>> 5. in the item_name column, check if the current item name is equal to >>> last_item_name - if it is, put blanks in that cell, if not, put the item >>> name >>> 6. set last_item_name = current item name >>> >>> Not pretty or clever, more of a brute force way to get it to work. >>> >>> -Jim >>> >>> On Wednesday, October 27, 2021 at 9:56:28 AM UTC-5 Clemens wrote: >>> >>>> Have a look here: >>>> >>>> http://www.web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#groupby-having >>>> >>>> Combining this with: >>>> >>>> http://www.web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#sum-avg-min-max-and-len >>>> >>>> Is it what you need? >>>> >>>> Best regards >>>> Clemens >>>> >>>> >>>> On Wednesday, October 27, 2021 at 4:44:11 PM UTC+2 mostwanted wrote: >>>> >>>>> I have a sales database table that records items sold in a store, an >>>>> item can appear several times in the table having been sold several times >>>>> or in different days. What i wanna do is display this information in an >>>>> html table in a view without the item names repeating also with the sold >>>>> quantity summed up for every item that appears more than once, how can i >>>>> achieve this? >>>>> >>>>> Regards >>>>> >>>> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/fa04c325-2110-4c98-bf04-cbc0f393212cn%40googlegroups.com.