簡體   English   中英

在JqGrid中處於編輯模式時,檢索單元格的值

[英]Retrieve value of cells, when in edit mode in JqGrid

我使用JqGrid進行數據輸入。

Iam在頁面加載時顯示一個空的jqgrid,單擊按鈕時,僅從客戶端添加一個空行。

單擊空行后,它變為可編輯狀態,並且可以添加新值。

可以添加和編輯任意數量的行,並且所有行都處於編輯模式。

現在,我需要獲取所有這些數據並將其立即發送到控制器中的操作。

JqG​​rid提供了不在編輯模式下檢索行或單元格數據的方法。

但是在編輯模式下,沒有任何辦法。

我做了以下對我有用的事情,但是不確定這是否是正確的方法。

$("#btnSave").click(function () {

        var rows = new Array();

        //rows[0] = new Array();
        //Gets total count of records shown currently
        var totalrec = jQuery("#rowed2").jqGrid('getGridParam', 'reccount');

        //total number of columns, 
        //can also use"jQuery("#rowed2").jqGrid('getGridParam', 'colModel').length"
        var totalCol = 4;

        var totalCells = 0;

        for (var i = 0; i < totalrec; i++) {
            rows[i] = new Array();
            for (var j = 0; j < 4; j++) {
                rows[i][j] = jQuery('#rowed2').contents().children().children().children()[totalCells].value;
                totalCells++;
            }
        }
});

我知道上面的代碼似乎簡陋,骯臟,不專業,無論您想稱它什么。 但是,正是我想要的。

但是,如果你們有更好的主意,請告訴我

調用editLink函數以獲取jqgrid中單元格的值。 編寫formatter: editLinkcolModelformatter: editLink editLink功能rowdata.providerName所示的ProviderName的值和rowdata.description顯示在一個說明的值alert彈出。 這些值在jggrid加載時顯示。

$(document).ready(function(){
        //jqGrid
        $("#providerList").jqGrid({
            url:'<%=request.getContextPath() %>/Admin/getProvidersList',
            datatype: "json",               
            colNames:['Id','Edit','Provider Name','Description','Website','Active','Modified Date'],
            colModel:[
                {name:'providerId',search:false,index:'providerId',hidden:true},
                {name:'providerId',search:false,index:'providerId', width:30,sortable: false, formatter: editLink},
                {name:'providerName',index:'providerName', width:200},
                {name:'description',index:'description', width:210},
                {name:'website',index:'website'},
                {name:'isActive',index:'isActive', width:60,},
                {name:'modifyDate',index:'modifiedDate', width:80,},],
                rowNum:20,
                rowList:[10,20,30,40,50],
                rownumbers: true,  
                pager: '#pagerDiv',
                sortname: 'providerName',  
                viewrecords: true,  
                sortorder: "asc",  
        }); 
        $('#gridContainer div:not(.ui-jqgrid-titlebar)').width("100%");
        $('.ui-jqgrid-bdiv').css('height', window.innerHeight * .65);
        $('#load_providerList').width("130");   
        $("#providerList").jqGrid('navGrid','#pagerDiv',{edit:false,add:false,del:false},{},{},{}, {closeAfterSearch:true});
        $(".inline").colorbox({inline:true, width:"20%"});
    });
    function editLink(cellValue, options, rowdata, action)
    {
        alert('ProviderName: '+ rowdata.providerName);
        alert('Description: '+ rowdata.description);
        return "<a href='<%=request.getContextPath()%>/Admin/editProvider/" + rowdata.providerId + "' class='ui-icon ui-icon-pencil' ></a>";
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM