Создайте ссылку jqGrid только с идентификатором - PullRequest
1 голос
/ 17 сентября 2010

I может увидеть , как создать ссылку jqGrid, используя:

colModel: [ {name:'myname', 
             formatter:'showlink', 
             formatoptions:{baseLinkUrl:'someurl.php', addParam: '&action=edit'}

Это создает запрос, подобный /someurl.php?id=XX&action=edit, и отображаемый текст будет иметь значение myname.

Но в нашем случае нам не нужен текст myname - наш текст будет жестко закодирован. Мы не хотим передавать какие-либо дополнительные данные в нашем запросе JSON - но, похоже, вам необходим атрибут JSON для каждого столбца. Как получить ссылку без столбца add'l JSON?

1 Ответ

1 голос
/ 17 сентября 2010

Форматер 'showlink', как и все другие форматеры, используется для форматирования данных, загруженных в jqGrid с сервера или из локальных данных.Так что в случае вашего примера вы не будете иметь текст «myname» (имя столбца) в ссылке, а значение ячейки из сетки.

Так что если вы хотите использовать предопределенный форматер 'showlink' у вас есть для заполнения данных столбца текстом, который вы хотите увидеть в ссылке.Вы можете сделать это либо внутри ваших данных JSON, либо заполнить / перезаписать текст после загрузки страницы, например, внутри loadComplete дескриптор события:

loadComplete: function() {
    var grid = $("list");
    var ids = grid.getDataIDs();
    for (var i = 0, idCount = ids.length; i < idCount; i++) {
        grid.setCell(id, 'myname', 'My text for link');
    }
}

Вы также можете использовать пользовательский форматер и пользовательский форматер вместо 'showlink' предопределенный форматер .Затем вы можете определить текст ссылки, как вы хотите, без заполнения каких-либо данных в сетке.

...