3

基本

大家好,我看到了tableToGrid(selector, options)jqGrid wiki 上定义的 tableToGrid 方法(由 Peter Romianowski 编写),但找不到任何有文档的地方options

有谁知道这些或在哪里可以找到它们?编辑:谢谢奥列格,解决了!

更多的

我实际上想要做的是将生成的 jqGrid 封装在 a 中form,这将提交checkbox表格列中的值。我的问题是该tableToGrid方法似乎正在name从元素中删除属性checkbox,因此它们没有与表单发布一起提交。

4

3 回答 3

7

就像你可以继续阅读http://www.trirand.com/jqgridwiki/doku.php?id=wiki:table_to_jqgrid上阅读一样,方法的选项参数tableToGrid只不过是您创建的 jqGrid 的选项(参见http://www .trirand.com/jqgridwiki/doku.php?id=wiki:options)。

如果我不了解您的主要问题,您会从服务器收到一些数据作为表单提交的答案。你想把这些数据放在一个网格中。为此,您可以使用更直接的方式来使用datatype: 'local'jqGrid。这是一个例子:

var grid = jQuery('#list').jqGrid({
    caption: 'Testclusters',
    height: 'auto',
    gridview: true,
    rownumbers: true,
    sortable: true,
    datatype: 'local',
    viewrecords: true,
    pager: '#pager',
    pgbuttons: false,
    pginput: false,
    rownumbers: true,
    colNames: ['Name', 'Testtiefe', 'Std', 'FachlicheTests', 'RowVersion'],
    colModel: [
        { name: 'Name', index: 'Name', width: 120 },
        { name: 'TesttiefeName', width: 180 },
        { name: 'Std', width: 21, formatter: 'checkbox', align: 'center' },
        { name: 'IsFachlicheTests', width: 21, formatter: 'checkbox', align: 'center' },
        { name: 'RowVersion', width: 50, hidden: true }
                ]
}).navGrid('#pager', { edit: false, add: false, del: false, refresh: true, view: false, search: false })
  .navButtonAdd('#pager', { caption: "", buttonicon: "ui-icon-calculator", title: "choose columns",
      onClickButton: function() {
          jQuery('#list').jqGrid('columnChooser');
      }
});
grid.jqGrid('gridResize');
var myData = [
    { Name: "VIA XP", TesttiefeName: "Alle SW-Produkte", Std:true, IsFachlicheTests:false, RowVersion: "20FC31" },
    { Name: "KUBUS", TesttiefeName: "Alle SW-Produkte", Std:false, IsFachlicheTests:true, RowVersion: "20FC32" }
];

for (var i = 0; i <= myData.length; i++) {
    grid.addRowData(i + 1, myData[i]);
}

首先,您创建一个空的 jqGrid,然后根据addRowData方法填充它。

此外,如果您在 jqGrid 中有许多复选框,那么您可以很有趣地查看我使用基于 JavaScript 的 SVG 库的表格标题中的垂直文本中的示例,并在http://www.ok-soft-gmbh上查看结果。 com/VerticalHeaders/TestFixedO1.htm

于 2010-04-28T12:18:54.407 回答
1

解决

jqGrid tableToGrid 方法将在原始表中找到复选框的值,并自动multiSelect: true在生成的 jqGrid 上实现选项,显示固有的复选框。要获取选定行 ID 的列表,只需调用

$('#grid').getGridParam('selarrrow')
于 2010-05-04T09:03:47.577 回答
0

更改任意数量列的列宽

在这种情况下,在构建 jqgrid 之后,您只需转到生成的表并手动更改列标题的所有列宽和相应的数据,而无需纠正一些繁琐的代码。

        var tabColWidths ='70px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px';

function reDefineColWidth(){
        var widthsArr = tabColWidths.split('|');

    for(var j=0; j < widthsArr.length ; j++ ){
            $('.ui-jqgrid-labels > th:eq('+j+')').css('width',widthsArr[j]);
            $('#grid tr').find('td:eq('+j+')').each(function(){$(this).css('width',widthsArr[j]);})
        }
}
于 2013-11-13T12:48:51.367 回答