При выборе строки не активировать событие в jqgrid - PullRequest
1 голос
/ 26 января 2012

У меня есть jqGrid, при котором нажатие строки должно отображать частичное представление ниже jqGrid, но этого не происходит. Я делаю что-то, как показано ниже:

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.jqGrid.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.cookie.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/json2.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/CookieManagement.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jQGridState.js")"></script>
<link href="@Url.Content("~/Content/jquery.jqGrid/ui.jqgrid.css")" rel="stylesheet" type="text/css" />

<script type="text/javascript">
    $(document).ready(function() {
        $(function() {
            $('#Listing').jqGrid({
                url: '@Url.Action("Grid", "Name")',
                datatype: "json",
                edit: false,
                add: false,
                del: false,
                height: 330,
                mtype: 'GET',
                colNames: ['ID','Name'],
                jsonReader: {
                    root: "Clients",
                    page: "CurrentPage",
                    total: "TotalPages",
                    records: "TotalRecords",
                    repeatitems: false,
                    cell: "",
                    id: "0"
                },
                colModel: [
                    { name: 'Id', index: 'Id', width: 65, align: 'center', sorttype: "int" },
                    { name: '@NameMap.STATUS_COLUMN', index: '@NameMap.STATUS_COLUMN', width: 140, align: 'left', sortable: true }],
                pager: '#pager',
                rowNum: 10,
                rowList: [10, 15, 20],
                sortname: 'Id',
                sortorder: 'asc',
                viewrecords: true,
                gridview: true,                    
                onSelectRow: function (id) {
                        $.ajax({
                                url: '@Url.Action("Details","Name")',
                                data: { 'Id': id },
                                success: function (detailsHtml) {
                                         $('#NameDetails').html(detailsHtml);
                                         },
                                dataType: 'html'
                                });
                        },
                loadComplete: function () {
                              $('#NameDetails').html("");
                             }  
            });
        });
    });
</script>

Здесь Details и Grid - это действие контроллера в контроллере имени. Детали, подключенные к onSelectRow, возвращают View, а $ ('# NameDetails') - это идентификатор последнего div на этой странице.

Моя проблема в том, что я не могу видеть отображение подробностей, даже если значения внутри него правильно заполняются, что-то не так в моем OnSelectRow или мне нужно включить какой-либо другой файл JavaScript ??

1 Ответ

0 голосов
/ 30 января 2012

Ну, это было глупо, но на самом деле я допустил орфографическую ошибку в идентификаторе, названном «NameDetails», как «NameDetalis», и это было причиной того, что мое представление не отображалось.

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