lambda row: A('Complete',
_class='btn', _id='btn_complete',
_onclick='return confirm("Complete
Order %s? (%s %s)")' % (row.id,
row.shipFirstName,
row.shipLastName),
_href=URL(r=request,f='complete_order',
args=[row.id]),
On Saturday, September 14, 2013 7:41:24 PM UTC-4, Alex Glaros wrote:
>
> it works correctly Villas, thanks.
>
> how could I turn "Add a comment!" text into a button. Possible syntax
> ",_class="btn btn-mini"", but where does it go?
>
> thanks,
>
> Alex
>
> On Saturday, September 14, 2013 10:23:00 AM UTC-7, villas wrote:
>>
>> Maybe this would work using row.idea.id like this...
>>
>> grid = SQLFORM.grid(query,
>> links = [dict(header='Virtual Field',
>> body=lambda row: A('Add a comment!', _href=URL(
>> 'comment_on_a_suggestion', vars=dict(filter=row.idea.id <http://row.id/>
>> )))
>> )]
>> )
>>
>>
>> You can also now include "virtual fields" in grids, but I haven't needed
>> to try that yet.
>>
>>
>>
>> On Saturday, 14 September 2013 15:23:49 UTC+1, Alex Glaros wrote:
>>>
>>> thanks Villas but I receive this error: Row' object has no attribute 'id'
>>>
>>> perhaps it doesn't know which of the joined "id"s to reference
>>>
>>> this work-around works because it let's system know which id it is:
>>> db.Idea.id.represent = lambda id, r: A('Add a comment!',
>>> _href=URL('comment_on_a_suggestion', vars=dict(filter=id)))
>>>
>>> Alex
>>>
>>> On Saturday, September 14, 2013 4:56:33 AM UTC-7, villas wrote:
>>>>
>>>> Try this...
>>>>
>>>> grid = SQLFORM.grid(query,
>>>> links = [dict(header='Virtual Field',
>>>> body=lambda row:
>>>> A('Add a comment!', _href=URL('comment_on_a_suggestion', vars=dict(filter=
>>>> row.id)))
>>>> )]
>>>> )
>>>>
>>>>
>>>> On Friday, 13 September 2013 21:57:28 UTC+1, Alex Glaros wrote:
>>>>>
>>>>> I tried this but got "lambda requires 2 args, 1 given" error, plus
>>>>> need to be able to pass Idea.id parm to the button. How to do that?
>>>>>
>>>>> grid = SQLFORM.grid(query,links = [dict(header='Virtual
>>>>> Field',body=lambda id, r: A('Add a comment!',
>>>>> _href=URL('comment_on_a_suggestion', vars=dict(filter=id))))])
>>>>>
>>>>> On Friday, September 13, 2013 1:33:35 PM UTC-7, villas wrote:
>>>>>>
>>>>>> Hope this helps...
>>>>>>
>>>>>> From the book:
>>>>>>
>>>>>> links is used to display new columns which can be links to other
>>>>>> pages. The links argument must be a list of
>>>>>> dict(header='name',body=lambda
>>>>>> row: A(...)) where header is the header of the new column and bodyis a
>>>>>> function that takes a row and returns a value. In the example, the
>>>>>> value is a A(...) helper.
>>>>>>
>>>>>> Example:
>>>>>>
>>>>>> linkbtns = [
>>>>>> lambda row: SPAN('Mag',_class="label label-success")
>>>>>> \
>>>>>> if row.status =='Y' else '',
>>>>>> lambda row: SPAN('Web',_class="label label-success")
>>>>>> \
>>>>>> if row.is_active else '',
>>>>>> lambda row: A( I('',_class="icon-eye-open")+' View',
>>>>>> _href=URL("view",args=[row.id]),
>>>>>> _class="btn btn-small"
>>>>>> ),
>>>>>> lambda row: A( I('',_class="icon-edit")+' Edit',
>>>>>> _href=URL("edit",args=[row.id]),
>>>>>> _class="btn btn-small"
>>>>>> ),
>>>>>> lambda row: A( I('',_class="icon-road")+' Map',
>>>>>> _href=URL('default','geocoder',
>>>>>> args=['caclient',row.id],vars={'title':row.business}),
>>>>>> _class="btn btn-small"
>>>>>> ),
>>>>>> ]
>>>>>> grid = SQLFORM.grid(....... links=linkbtns, .......)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Friday, 13 September 2013 21:00:56 UTC+1, Alex Glaros wrote:
>>>>>>>
>>>>>>> How do I add a button "Add a comment!" in every row of a grid? It's
>>>>>>> a kind of virtual column.
>>>>>>>
>>>>>>> The below works, it takes user exactly to the correct row in the
>>>>>>> next table, but I use up one of the fields (Idea.id). How do I just
>>>>>>> create
>>>>>>> text/virtual column that doesn't sacrifice existing field?
>>>>>>>
>>>>>>>
>>>>>>> def view_all_suggestions_and_comments():
>>>>>>> db.Idea.id.represent = lambda id, r: A('Add a comment!',
>>>>>>> _href=URL('comment_on_a_suggestion', vars=dict(filter=id)))
>>>>>>> query = (db.IdeaComment.ideaID==db.Idea.id) &
>>>>>>> (db.IdeaComment.partyID==db.Party.id)
>>>>>>> grid = SQLFORM.grid(query)
>>>>>>> return dict(grid = grid)
>>>>>>>
>>>>>>>
>>>>>>> I read the book but need exact syntax for this situation.
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Alex Glaros
>>>>>>>
>>>>>>
--
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.