Редактируемый JQGrid с пользовательской функциональностью - PullRequest
0 голосов
/ 10 июля 2011

Я новичок в Jqrid, хотя потоки stackoverflow о Jqgrid очень хороши, но у меня есть некоторые вопросы.

1-я хочу сетку с редактируемыми столбцами с функциями добавления, редактирования, удаления, отмены.

2 - после этого мне нужно привязать некоторые события к Like: строка выбранных событий для загрузки его потомка
записи.

3 - тогда, когда я нажму "отправить", сохраните записи со всей страницей, как у меня есть другие детали моей сущности также.

для этого я что-то сделал, искал другое решение, но пока не смог.

Вот мое небольшое усилие:)

function JSMethod() {
        var grid = $("#table");
        var ids = grid.getDataIDs();
        for (var i = 0; i < ids.length; i++) {
            grid.editRow(ids[i], true);
        };
    }

    $.ajax({
        type: "GET",
        url: '<%= ResolveClientUrl("~/WebService.asmx/GetLookup") %>',
        dataType: "text",
        success: function (result) {
            alert('Success');
            lookup = result;


        },
        async: false
    });

    $(function () {


        var lookup = "";



        $("#table").jqGrid({
            datatype: function (pdata) { getData(pdata); },
            height: 250,
            editurl: 'default.aspx',
            gridview: true,
            colNames: ['ID', 'First Name', 'Last Name', 'Buttons'],
            colModel: [
            { name: 'ID', width: 60, sortable: false, hidden: true },
            { name: 'FirstName', width: 200, sortable: false },
            { name: 'LastName', width: 200, sortable: false, editable: true, edittype: 'select', stype: 'select', formatter: 'select', editoptions: { value:GetData, size: 30, maxlength: 20} },
            { name: 'Buttons', width: 200, sortable: false }

        ],
            onSelectRow: function (rowId) {
                if (rowId && rowId !== lastRowId) {
                    if (lastRowId != null) {
                        var a = $('#list').saveRow(lastRowId, false, 'clientArray');
                        changedRows[lastRowId] = $('#list').getRowData(lastRowId);
                    }
                    jQuery('#list').editRow(rowId, true);
                }
                lastRowId = rowId;
            },
            imgpath: '<%= ResolveClientUrl("~/styles/redmon/images") %>',
            caption: "Sample JSON data retrieved from ASMX web services"
        });
    });
    function getData(pData) {
        $.ajax({
            type: 'POST',
            contentType: "application/json; charset=utf-8",
            url: '<%= ResolveClientUrl("~/WebService.asmx/GetListOfPersons") %>',
            data: '{}',
            dataType: "json",
            success: function (data, textStatus) {
                if (textStatus == "success")
                    ReceivedClientData(JSON.parse(getMain(data)).rows);
            },
            error: function (data, textStatus) {
                alert('An error has occured retrieving data!');
            }
        });
    }
    function ReceivedClientData(data) {
        var thegrid = $("#table");
        thegrid.clearGridData();
        for (var i = 0; i < data.length; i++)
            thegrid.addRowData(i + 1, data[i]);
    }
    function getMain(dObj) {
        if (dObj.hasOwnProperty('d'))
            return dObj.d;
        else
            return dObj;
    }

1 Ответ

0 голосов
/ 14 июля 2011

Я получил ответ http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing Если вы перейдете по этой ссылке, я уверен, что вы сможете создать редактируемую сетку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...