sqfform.grid image

36 views
Skip to first unread message

Laurent Lc

unread,
Oct 6, 2015, 4:53:34 AM10/6/15
to web2py-fr
Bonjour,

J'aimerais afficher pour chaque enregistrement l'image et non un lien tout seul , ma fonction est la suivante

def showonly():
    query=(db1.test.present=='present')
    grid = SQLFORM.grid(query=query, user_signature=False, maxtextlength = 40,deletable=False, \
                        editable=False, create=False, details=False, \
                        links=[dict(header='picture',body=lambda row: A(IMG(_src=URL('download', args=row.picture), _width=50, _height=50), _href=URL('download', args=row.picture)))], \
                        fields=[db1.test.nom,db1.test.burtelephone,db1.test.mail,db1.test.groupe, db1.test.picture],orderby=db1.test.nom)
    return dict(grid=grid) 

La photo n’apparaît pas , problème d'entête .. ?
D'autre part il y a 2 colonnes "picture" et j'en souhaite qu'une avec la photo qui va bien
Merci

Arglanir

unread,
Oct 6, 2015, 2:55:49 PM10/6/15
to web2py-fr
Est-ce que l'URL générée par URL('download', args=row.picture) pointe bien vers une image ?

Pour cacher la première colonne "picture" tu peux essayer (indiqué dans la description de fields dans le livre):
db1.test.picture.readable = False

Laurent Lc

unread,
Oct 7, 2015, 7:51:51 AM10/7/15
to web2py-fr
Merci
j'ai trouvé:
def showonly():
    query=(db.personnel.present=='present')
    db.personnel.picture.represent = lambda pic,row : IMG(_src=URL('default', 'download', args=pic)) # cette ligne repond à ma question

    grid = SQLFORM.grid(query=query, user_signature=False, maxtextlength = 40,deletable=False, \
                        editable=False, create=False, details=False, \
                        #links=links, \
                        fields=[db.personnel.nom,db.personnel.burtelephone,db.personnel.mail,db.personnel.groupe, db.personnel.picture],orderby=db.personnel.nom)
    return dict(grid=grid)
Reply all
Reply to author
Forward
0 new messages