0

我想将文本框控件与对象的属性绑定。如下代码所示,除了文本框控件没有绑定“名称,索引”中提到的关联属性外,它都可以正常工作。

下面是我的 jqgrid 代码:

   $('#g).jqGrid({
        ajaxGridOptions: {
            error: function () {
                $('#g')[0].grid.hDiv.loading = false;
                alert('An error has occurred.');
            }
        },
        url: '@Url.Action("Getvalues", "cntrollName")/' + 0,
        postData: { ID: rowID },
        datatype: 'json',
        jsonReader: { root: 'List', page: 'Page', total: 'TotalPages', records: 'TotalCount', repeatitems: false, id: 'ID' ,''},
        mtype: 'GET',
        colNames: ['GrdID', Name],
        colModel: [
            { name: ID, index: ID, hidden: true },
            { name: 'FullName', index: 'FullName', width: 150 },
            {
              name: 'txtVAlue', index: txtVAlue, width: 40, align: 'center',  formatter: function (cellValue, option) {
                        return '<input type="text" name="txtBox" id="txt_' +  option.rowId + '"  />';
                    }
                }],

        pager: $('#g),
        sortname: ID,
        rowNum: 10,
        width: '525',
        height: '100%',
        viewrecords: true,
        beforeSelectRow: function (rowid, e) {
                               return true;
        },
        sortorder: 'desc'
    }).navGrid('#g, { edit: false, add: false, del: false, search: false, refresh: false });

请建议我如何将文本框与字段值绑定。还请建议我,是否可以更改 jqgrid 的颜色和字体大小。

谢谢你

4

1 回答 1

2

列的格式化程序txtVAlue不使用cellValue. 要修复格式化程序的代码,您可以使用类似

{
    name: 'txtVAlue',
    width: 40,
    align: 'center',
    formatter: function (cellValue, option) {
        return '<input type="text" size="7" name="txtBox" id="txt_' + option.rowId +
            '" value="' + cellValue +'"/>';
    }
}

正确创建元素后,<input>您可能应该定义保存输入更改的事件句柄。loadComplete例如,您可以在回调内部进行绑定。此外,您应该考虑实现onSortCol回调。它将在对网格进行排序之前调用(如果用户单击列标题)。

另外你应该

  • 包括关闭'所有'#g(将其替换为'#g')。Name,ID并且rowID也应该包含在'其中(或者应该声明和分配变量)。
  • 您必须使用另一个选择器pager作为网格的 id。例如pager: '#g_pager. divid="g_pager"应该放在某个地方。
  • 我建议您使用gridview: trueautoencode: true选项。
于 2014-01-28T08:57:51.573 回答