Как получить расширенные данные столбца строки jqGrid

0

Когда основная строка jqGrid расширяется, создается и отображается подсеть. Мне нужно захватить основные данные столбцов строки в сетке до того, как будет построена подкритерия. Для этого я использую subGridBeforeExpand событие Main Grid. В этом случае я вызываю код javascript для захвата данных столбцов расширенной строки, но без каких-либо успехов. alert выводит sel_id как null. Может ли кто-нибудь направить меня на это? Нужно ли мне использовать другое событие сетки или что-то не так с моим кодом jquery?.

**<script type="text/javascript">
     function GetValues() {
       var sel_id = jQuery("#ServersWS").jqGrid('getGridParam', 'selrow'); 
       alert(sel_id);
       var rowData = jQuery("#ServersWS").jqGrid('getRowData', sel_id);
       var temp = rowData['Description']; //replace name with you column
       alert(temp);
    }
</script>**     

 div id="gridWrapper1" style="display: none">
    @{

        var grid1 = new JqGridHelper<Configuration.Models.Post.ProfileModel>(
            "ServersWS",
            caption: "Server Profiles With One or More Settings",
            hidden: false,
            hiddenEnabled: true,
            dataType: JqGridDataTypes.Json,
            methodType: JqGridMethodTypes.Post,
            pager: true,
            rowsNumber: 10,
            sortingName: "Profile",
            sortingOrder: JqGridSortingOrders.Asc,
            url: Url.Action("GetServersWithSettings"),
            **subGridBeforeExpand: "function(id) {GetValues();}",**
            subgridEnabled: true,
            subgridHelper: new JqGridHelper<PlatformConfigurationEditModel>(
                "ProfileSettingsEdit",
                caption: "Edit Settings",
                hidden: false,
                hiddenEnabled: true,
                dataType: JqGridDataTypes.Json,
                methodType: JqGridMethodTypes.Post,
                pager: true,
                rowsNumber: 10,
                sortingName: "Id",
                sortingOrder: JqGridSortingOrders.Asc,
                url: Url.Action("GetEditableProfileSettings"),
                editingUrl: Url.Action("Edit"),
                viewRecords: true,
                autoWidth: true,
                sortable: true)
                .Navigator(new JqGridNavigatorOptions { Search = false },
                    new JqGridNavigatorEditActionOptions { Url = Url.Action
                    ("Update"),CloseAfterAdd = true, CloseAfterEdit = true, Width = 500, Height  
                     = 300 },
                    new JqGridNavigatorEditActionOptions { Url = Url.Action("Add"), 
                    CloseAfterAdd = true, CloseAfterEdit = true, Width = 500, Height = 300 },
                    new JqGridNavigatorDeleteActionOptions { Url = Url.Action("Delete") },
                    null, new JqGridNavigatorViewActionOptions { LabelsWidth = "60%" }
                )
                .FilterToolbar(options: new JqGridFilterToolbarOptions
                {
                    StringResult = true,
                    DefaultSearchOperator = JqGridSearchOperators.Cn,
                    AutoSearch = true,
                    SearchOnEnter = false
                }),
                sortable: true
            ).FilterToolbar(new JqGridFilterToolbarOptions
            {
                StringResult = true,
                DefaultSearchOperator = JqGridSearchOperators.Cn,
                AutoSearch = true,
                SearchOnEnter = false,

            });
        @grid1.GetHtml()
    }
</div>
Теги:
asp.net-mvc
jqgrid

1 ответ

1
Лучший ответ

Я не знаком с библиотекой Lib.Web.Mvc, но вы можете попробовать использовать события jQuery вместо обратных вызовов. Например, jqGridSubGridBeforeExpand может быть тем, что вам нужно:

jQuery("#ServersWS").bind("jqGridSubGridBeforeExpand", function (e, pID, rowid) {
    alert("rowid=" + rowid);
});
  • 0
    Привет, спасибо за ответ. Как я могу получить расширенные данные столбца строки с rowid? @Oleg
  • 0
    Попытка сработала - jQuery ("# ServersWS"). Bind ("jqGridSubGridBeforeExpand", функция (e, pID, rowid) {var rowData = jQuery ("# ServersWS"). JqGrid ('getRowData', rowid); var temp = rowData ['Description']; // замените имя на столбец alert (temp);});
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню