django и jqgrid с использованием django-jqgrid - PullRequest
2 голосов
/ 23 января 2012

У меня возникли проблемы с реализацией вышеуказанного плагина jquery с помощью django.

См. Ссылки на код ниже.

В наборе запросов, который я использую для тестирования, имеется 18 строк данных,Все, что отображается, - это строка заголовка (строка с метками), а также нижняя строка пейджера, но не более того.

Кроме того, какой смысл нам используется grid_handler, поскольку на него нет ссылокв любом месте?На сайте jquery-django не так много документации.

Наследование от JqGrid:

class IllustrationLedger(JqGrid):
    all_fields = IllustrationGrid().get_fields()
    rowNum = 10
    queryset = None#IllustrationGrid # could also be a queryset
    fields = [ field[0].name for field in all_fields ] # optional 
    url = None#'/grid/cfg/'
    caption = 'Illustration Ledger' # optional
    colmodel_overrides = {
        'id': { 'editable': False, 'width':10 },
    }

    def __init__(self, request, id):
        super(IllustrationLedger, self).__init__()
        self.queryset = IllustrationGrid.objects.filter(illustration=id)
        self.url = '/grid/cfg/{0}/'.format(id)
        #print IllustrationGrid.objects.filter(illustration=id)

Просмотры:

def grid_handler(request, ill_id):
    #print request
    grid = IllustrationLedger(request, ill_id)
    return HttpResponse(grid.get_json(request), mimetype="application/json")

def grid_config(request,ill_id):
    #print request

    # build a config suitable to pass to jqgrid constructor   
    grid = IllustrationLedger(request, ill_id)
    print grid.get_config()
    return HttpResponse(grid.get_config(), mimetype="application/json")

URLS:

url(r'^grid/(?P<ill_id>\d+)/$', 'grid_handler', name='grid_handler'),
url(r'^grid/cfg/(?P<ill_id>\d+)/$', 'grid_config', name='grid_config'),

Javascript:

$(function(){
$.getJSON("{% url grid_config ill.id %}", function(data){
  data['illustration'] = "{{ ill.id }}";

  $("#igrid").jqGrid(data)
            .navGrid('#pager', 
                {add: false, edit: false, del: false, view: true},
        {}, // edit options
        {}, // add options
        {}, // del options 
        { multipleSearch:true, closeOnEscape:true }, // search options 
        { jqModal:false, closeOnEscape:true} // view options 
        );
    }); 
});

HTML

<table id="igrid"><tr><td/></tr></table> 
<div id="pager"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...