http://web2py.com/books/default/chapter/29/6
{{extend 'layout.html'}}
<h1>Records</h1>
{{=SQLTABLE(rows,
headers='fieldname:capitalize',
truncate=100,
upload=URL('download'))
}}
Richard
On Fri, Apr 20, 2012 at 11:42 AM, Richard Vézina <
[email protected]> wrote:
> Also, you could maybe search the book with "truncate" keyword, there is
> already a utility if you just want to control the lenght of free text field
> or other string field.
>
> Richard
>
>
> On Fri, Apr 20, 2012 at 11:35 AM, Richard Vézina <
> [email protected]> wrote:
>
>> I think you can't use compute since you modify a field where the user as
>> to enter something base on the len of user input, so I think you should
>> transform the code below into function and use onvalidation=function
>>
>>
>> x=len(form.vars.description)
>> if x>128:
>> i=128
>> dots="..."
>> else:
>> i=x-1
>> dots=""
>> s=form.vars.description[0:i] + dots
>>
>> Richard
>>
>>
>>
>>
>> On Fri, Apr 20, 2012 at 11:26 AM, Annet <[email protected]> wrote:
>>
>>> I defined a table eventList:
>>>
>>> db.define_table('EventList',
>>> ...
>>> Field('description',type='text'),
>>> Field('shortdescr',length=128,writable=False,readable=False),
>>> ....
>>> migrate=False)
>>>
>>> db.EventList.description.requires=IS_LENGTH(1536,error_message='length
>>> exceeds 1536 characters')
>>> db.EventList.shortdescr.requires=IS_LENGTH(128,error_message='length
>>> exceeds 128 characters')
>>>
>>> shortdescr should be the first 128 characters of description followed by
>>> three dots. In a function this works:
>>>
>>> x=len(form.vars.description)
>>> if x>128:
>>> i=128
>>> dots="..."
>>> else:
>>> i=x-1
>>> dots=""
>>> s=form.vars.description[0:i] + dots
>>>
>>> ... but I'd like to add it to the model file. I had a look at the
>>> compute option but wasn't able to figure out how to get it syntactically
>>> correct.
>>>
>>>
>>> Kind regards,
>>>
>>> Annet.
>>>
>>
>>
>