2012-12-13 5 views
4

나는 web2py를 사용하여 MySQL 백엔드에 동적 웹 UI를 구축하고 있으며 일반적으로 web2py 프레임 워크와 웹 개발을 처음 사용합니다.web2py 인라인 편집 가능한 격자

내가 찾고있는 것은 web2py 용으로 제작되었거나 호환되는 다음 기능이있는 라이브러리 또는 플러그인입니다.

1) 한 번에 하나씩이 아닌 한 번에 여러 레코드가있는 테이블에서 검색된 레코드를 인라인 편집하고 모든 변경 사항을 제출시 데이터베이스로 다시 보냅니다.

2) 해당 레코드의 특정 필드 값에 대한 드롭 다운 메뉴. 드롭 다운 값은 해당 레코드의 다른 필드 값에 따라 다릅니다.

3) 새 레코드를 만드는 기능.

-

다음은 내가 무엇을 찾고 가까이 오는 것 몇 가지 솔루션입니다. 그러나 기성품 인 모든 것은 비용이 드는 것으로 보이거나 내 프로젝트가 오픈 소스 일 것을 요구합니다. [DOT]는 두 개 이상의 링크를 허용하기 위해 포함되었습니다.

http://datatables.net/index - 플러그인의 구매 없이는 인라인 편집

http://wijmo.com/widgets/wijmo-complete/grid/ - 그리드는 wijmo

http://trirand.com/blog/jqgrid/jqgrid.html 의 라이센스 버전과 함께 제공 - 유망 보이지만 내가 어떻게 다시 데이터를 보내려면 어떻게합니까 web2py를 사용하는 서버? 또한 특정 필드에 드롭 다운을 만들려면 어떻게해야합니까?

http://dev.sencha.com/deploy/ext-4.0.0/examples/grid/cell-editing.html - 이것은 내가 찾고있는 것으로 보이지만 라이센스에 대해 지불하고 싶지 않습니다.

-

내가 선호하는 것은 이미 만들어진 것입니다. 그러나 많은 사람들이 내 자신의 UI를 작성하는 것이 가장 좋은 방법이라고 생각하는 것 같습니다.

좋은 경로에 대한 제안 사항이 있습니까?

답변

0

솔루션의 몇 가지가 있습니다.템플릿에 코드를 추가

<script src="{{=URL('static','js/jquery.jeditable.js')}}"></script> 

모델 :

db.define_table('dogs', 
Field('dog_name','string')) 

컨트롤러 :보기

def populate(): 
    db.dogs.truncate() 
    db.fleas.truncate() 

    db.dogs.insert(dog_name='dagwood') 
    db.dogs.insert(dog_name='daisy') 

def dogs(): 
    db.dogs.dog_name.represent = lambda value, row: DIV(value if value else '-',_class='dog_name', _id=str(row.id)+'.dog_name') 
    g = SQLFORM.grid(db.dogs, searchable=False, csv=False, user_signature=False) 
    return dict(form = g) 

def upd_dog_name(): 
    id,column = request.post_vars.id.split('.') 
    value = request.post_vars.value 
    db(db.dogs.id == id).update(**{column:value}) 
    return value 

(이하 프로그래밍)

{{extend 'layout.html'}} 

<script> 
jQuery(document).ready(function(){ 
    jQuery('.dog_name').editable("{{=URL('dogs', 'upd_dog_name')}}",{     
     tooltip: "Click to edit, enter to save", 
indicator : 'updating', 
});}) 
</script> 


<div id='dogs'> 
    {{=form}} 
</div> 

또 다른 방법이를 사용하는 것입니다 web2py 슬라이스 : http://www.web2pyslices.com/slice/show/1714/jqgrid-viewing-and-updating-data