2013-08-05 4 views
1

첫 번째 열에 머리글이없고 표식으로 구성된 표가 있고 마지막 두 열은 링크 열 ('링크 매개 변수) 매개 변수가있는 데이터베이스 필드에서 중간 열이 생성됩니다. 체크 박스 컬럼을 생성하는 가장 좋은 방법은 무엇입니까? 고맙습니다.SQLFORM.grid에 확인란 열 추가

답변

2
grid = SQLFORM.grid(..., selectable=lambda ids: [do something with record ids]) 

그러면 왼쪽에 체크 박스 열이 추가되고 그리드 하단에 "제출"버튼이 추가됩니다. "Submit"버튼을 클릭하면, 그리드를 생성 한 액션은 체크 된 레코드의 레코드 ID 목록을 받게되고,이 ID는 "selectable"인수로 전달됩니다. 위와 같이 ID를 기록하십시오).

당신은리스트의 목록을 전달하여 버튼을 제출하고 심지어 검사 기록에 적용 할 추가 기능을 추가의 레이블을 제어 할 수 있습니다 /은 "선택"인수로 튜플 :이 경우

grid = SQLFORM.grid(..., 
    selectable=[('Action 1', lambda ids: [do action 1 with ids], 'class1'), 
       ('Action 2', lambda ids: [do action 2 with ids], 'class2')]) 

, 그리드 하단에 "Action 1"및 "Action 2"라는 레이블이 붙은 버튼이 표시되며 클릭 한 버튼에 따라 적절한 액션이 실행됩니다. 각 튜플의 세 번째 요소는 해당 작업의 button 요소에 추가되는 선택적 CSS 클래스입니다.

+0

완벽한 - 감사합니다. – Lamps1829

+0

위의 "Action 1", "Action 2"접근 방식을 시도하면 ("[... ... ids]"를 대체하는 일부 함수 호출로) "목록 객체를 호출 할 수 없습니다"라는 메시지가 반환됩니다. 무슨 일이 일어날 수 있는지에 대한 아이디어가 있습니까? – Lamps1829

+0

죄송합니다. 위에 표시된 '선택 가능'의 두 번째 형식은 트렁크에서만 사용 가능하다는 사실을 잊어 버렸습니다. 다음 번 안정적인 릴리스 (해당 기능 포함)는 곧 출시되어야한다고 생각합니다. – Anthony