如何修改jqgrid表单中的按钮特征?

时间:2015-10-16 17:54:24

标签: javascript jquery jqgrid

我设法显示按钮(名称:" SelectStores"),但它处于默认模式,与颜色和形状的其余形式不匹配。如何更改这些属性?

谢谢。

SQLA_TYPE_MAPPING

2 个答案:

答案 0 :(得分:0)

此数据集是一个对象数组。因此,您可以通过数组中的索引访问每个对象,从第一个对象的0开始。

所以:

colModel[0] = {
            name: "PCROWID",
            width: 60,
            align: "center",
            editable: true,
            hidden: true,
            editoptions: {
                readonly: true
            }

因此,您尝试访问的对象位于第4个索引中,可以在以下位置访问:

colModel[4]

从那里,可以使用点表示法访问每个单独的属性:

    colModel[4].name   // this would return "Select Store"
    colModel[4].align     // this would return "center"
    colModel[4].editrules.edithidden // returns true

所以你也可以用同样的方式分配新值:

colModel[4].align = "left" 
colmodel[4].width = 60

请记住,这仅在您的对象数组保持相同顺序时才有效。如果将新项添加到数组的开头,则您尝试访问的项将不再是索引4,突然您将编辑错误的项。

因此,如果它们都是统一的并且应该具有相同的属性,那么您可能需要考虑执行类似循环的操作,以规范化所有对象的所有属性,或找到您要查找的属性:

for( var i = 0, length = colModel.length; i < length; i++ ){
    // set all widths to 60
    colModel[i].width = 60;

    // set only the "SelectStores" button alignment to "left"
    if(colModel[i].name === "SelectStores"){
        colModel[i].align = "left"; 
    } 
}

根据您的确切目的,可能会有更有效的方法来完成此任务,但这可以完成工作。

答案 1 :(得分:0)

我确实需要澄清我的问题。我试图修改的按钮是编辑形式而不是网格本身。该列隐藏在网格中。

我确实找到了一个解决方案,这是在我的代码的编辑部分,我可以直接使用编辑表单。

这是我的解决方案:

$('#SelectStores').click(function() { 
   ShowExtendedData(); 
 }).addClass("fm-button ui-state-default ui-corner-all");