0
<sjg:gridColumn 
    name="progressivo" 
    index="progressivo" 
    title="ID" 
    sortable="false"
    formatter="integer"
    width="40"
    displayTitle="false"
    editable="true"
    hidedlg="true"
    editrules="{edithidden:false}"/>

我不想能够编辑该字段,我不想在编辑对话框中显示它,但我想将它传递给操作。我的理解是我应该使用上面指定的 editable="true", hidedlg="true", editrules="{editithidden:false}" 。但是该字段在对话框中仍然可见且可编辑......有人知道这段代码有什么问题吗?谢谢

4

2 回答 2

1

我没有hidden="true"在 的属性列表中看到<sjg:gridColumn ...>。此外,您使用editrules="{edithidden:false}"而不是editrules="{edithidden:true }". 大概就是这个问题。

换句话说,您需要具有列属性

hidden: true, editable: true, editrules: { edithidden: true }, hidedlg: true

例如在答案中描述。

于 2013-04-30T16:25:59.757 回答
0

我认为你有两个选择。我个人通过定义我自己的自定义编辑选项来处理这个要求。

前任:

    ... 
    editable: true, edittype: 'custom', editoptions: { custom_element: readOnlyTextBox, custom_value: readOnlyTextBoxValue } 
    ...

function readOnlyTextBox(value, options) {

    var el = document.createElement("input");
    el.type = "text";
    el.value = value;
    el.disabled = true; // "disabled";
    return el;
} //function readOnlyTextBox(value, options) {

function readOnlyTextBoxValue(elem, operation, value) {
    //console.log('Elem: ' + elem + '  Operation: ' + operation + '  Passed Value: ' + value + '  Value: ' + $(elem).val());        
    if (operation === 'get') {
        return $(elem).val();
    } else if (operation === 'set') {
        $(elem).val(value);
    }
} //function readOnlyTextBoxValue(elem, operation, value) {

另一种选择是定义您自己的编辑表单处理程序并传入额外的行项值:

        ....
        ondblClickRow: function (rowid) {
            EditCollectionItem(rowid, this)
        }, //ondblClickRow
        ....

function EditCollectionItem (rowid, grid){

    $(grid).jqGrid('editGridRow', rowid,
    {
        viewPagerButtons: false,
        editData: { ExtraDataKey: ExtraDataValue },
        afterShowForm: function (formid) {
        }, //afterShowForm
        afterComplete: function (response) {
        } //afterComplete
    }); //$this.jqGrid('editGridRow
}//function EditCollectionItem (rowid, grid){
于 2013-04-30T12:59:47.207 回答