내 격자는 LEFT OUTER JOIN이있는 제품을 표시하여 제품이 이미 선택된 경우 추가 정보를 표시합니다.Web2py SQLFORM.grid 필드를 선택했지만 표에 표시하지 않습니다.
모든 작품이 훌륭합니다.
이제 제품 이름의 제목 속성에 제품 설명을 추가하고 싶습니다. 따라서 사용자가 이름 위로 마우스를 가져 가면 이름 설명이 표시됩니다. db.product.description가 그리드의 필드에 포함 된 경우
db.product.productname.represent = lambda value, row: A(value, _href=URL('offer', 'view_product', args=row.product.id), _title=row.product.description)
이 작동합니다. 그러나 그때 칼럼도 표시됩니다. 나는 원하지 않습니다. .readable = False로 설정할 때. 열은 표시되지 않지만 설명은 표시되지 않습니다.
또한 표시 할 필드 만 지정하기 위해 헤더를 사용했지만 설명 열을 계속 표시하려고했습니다.
필드를 쿼리에 포함 시키지만 표에 표시하지 않으려면 어떻게해야합니까? 그 자체가 폼의 모든 행을 할 수없는 문제를 해결하기 위해 JS에 의해 처리되기 때문에
pagecontent = SQLFORM.grid(query,
left=db.product_offer_item.on((db.product.id == db.product_offer_item.product_id)\
& (db.product_offer_item.offer_id == currentquote)),
args=[groupid],
create=False,
editable=False,
deletable=False,
details=False,
csv=False,
orderby=db.product.productname,
fields=[db.product.productname,
db.product.purchasecost,
db.product.monthlycost,
db.product_offer_item.optional,
db.product_offer_item.quantity,
db.product_offer_item.discount,
db.product.description # Here is the problem field
],
# headers={'product.productname' : db.product.productname.label,
# 'product.purchasecost' : db.product.purchasecost.label,
# 'product.monthlycost' : db.product.monthlycost.label,
# 'product_offer_item.optional' : db.product_offer_item.optional.label,
# 'product_offer_item.quantity' : db.product_offer_item.quantity.label,
# 'product_offer_item.discount' : db.product_offer_item.discount.label},
maxtextlength = 100,
links=[lambda row: A(T('Update'),
_href='#',
_class='button btn btn-default',
_id=row.product.id,
_name='btnUpdate')
]
)
업데이트 버튼에는 링크가 없습니다 :
다음은 전체 그리드입니다.