2013-02-20 2 views
0

데이터 형식이 있고 한 열을 편집 할 수 있습니다. 나는 3 가지 문제의 해결책을 찾고있다. 누구든지이 일을 도울 수 있습니까?Datatable 서버 측 처리

  1. 은 내가 불변으로 하나의 셀을 만들 필요가
  2. (FIRSTROW의 요소, 첫 번째 열) (즉, DB의 기본 키) 내 서버 측 스크립트에 첫 번째 열을 전달해야
  3. 테이블을 편집 한 후 열의 편집 된 값을 확인해야합니다. sUpdateURL을 사용하면 function (value, settings)이 변경 사항을 표시합니다. 아무도 이것에 나를 도울 수 있습니까. 나는이 자료에 매우 익숙하다.

여기 내 코드 서버 측 처리 파이썬 + 플라스크 프레임 워크를 사용

$(document).ready(function() { 
     $('#jtable').html('<table cellpadding="1" cellspacing="1" border="1" class="pretty" id="edit_table"></table>'); 
     $("#edit_table").dataTable({ 
      "aaData": {{ result | safe }}, 
      "aLengthMenu" : 100, 
      "aaSorting": [], 
      "aoColumns" : [ 
       {'sTitle' : 'Options' }, 
       {'sTitle' : 'Values'} 
      ], 
      "iDisplayLength": -1, 
      "bFilter" : false, 
      "bSearchable" :false, 
      "bInfinite" :true, 
      "bSort" :false, 
      "bPaginate": false 
     }); 
    }); 
    $(document).ready(function(){ 
     $("#edit_table").dataTable().makeEditable({ 
      sUpdateURL: "/submitchanges", 
      "aoColumns": [ 
       null, 
       { 
       }, 
       { 
        indicator: 'Saving platforms...', 
        tooltip: 'Click to edit platforms', 
        type: 'textarea', 
        submit:'Save changes', 
        fnOnCellUpdated: function(sStatus, sValue, settings){ 

        } 
       } 
      ] 
     }); 
    }); 

분. 클라이언트 측에서 작동

다음

답변

0

서버 코드 (약간 수정, 아래 참조) :

from flask import Flask, render_template, request as flask_request 
app = Flask(__name__) 

@app.route('/') 
def hello_world(): 
    aa_data = [['First', 'Second'], ['First', 'Second']] 
    return render_template('index.html', result = aa_data) 

@app.route('/update/', methods=['POST']) 
def update_records(): 
    value = flask_request.form['value'] 
    row_id = flask_request.form['rowId'] 
    # todo: perform database update operation 
    return value 

if __name__ == '__main__': 
    app.run(debug=True) 

클라이언트 측 수정 :

$("#edit_table").dataTable().makeEditable({ 
      sUpdateURL: "/update/", 
      "aoColumns": [ 
       null, 
       { 
        sName:"secondColumn" 
       } 
      ] 
     });