jqgrid change cell value and stay in edit mode

后端 未结 2 431
说谎
说谎 2020-11-30 15:54

I\'m using inline editing in my grid , I have some cases which i want to change the value of a cell inside a column. I\'m changing it with setCell ,and it works good. my pro

相关标签:
2条回答
  • 2020-11-30 16:25

    If you need to implement the behavior of dependency cells which are all in the editing mode you have to modify the cell contain manually with respect of jQuery.html function for example. If the name of the column which you want to modify has the name "description", and you use 'blur' event on another "code" column then you can do about the following

    editoptions: {
        dataEvents: [
            {
                type: 'blur',
                fn: function(e) {
                    var newCodeValue = $(e.target).val();
                    // get the information from any source about the
                    // description of based on the new code value
                    // and construct full new HTML contain of the "description"
                    // cell. It should include "<input>", "<select>" or
                    // some another input elements. Let us you save the result
                    // in the variable descriptionEditHtml then you can use
    
                    // populate descriptionEditHtml in the "description" edit cell
                    if ($(e.target).is('.FormElement')) {
                        // form editing
                        var form = $(e.target).closest('form.FormGrid');
                        $("#description.FormElement",form[0]).html(descriptionEditHtml);
                    } else {
                        // inline editing
                        var row = $(e.target).closest('tr.jqgrow');
                        var rowId = row.attr('id');
                        $("#"+rowId+"_description",row[0]).html(descriptionEditHtml);
                    }
                }
            }
        ]
    }
    

    The code will work for both inline and form editing.

    The working example of dependent <select> elements you can find here.

    0 讨论(0)
  • 2020-11-30 16:39

    blur does not fire if value is changed and enter is pressed immediately without moving to other cell. So better is to use

    editrules = new
    {
    custom = true,
    custom_func = function( val, col ) { ... }
     },
    

    and move this code from blur to custom_func as described in jqgrid: how send and receive row data keeping edit mode

    0 讨论(0)
提交回复
热议问题