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.

Reply via email to