0

setLabelを使用してjqgridの列名を変更してみました。しかし、それは機能しません。ドキュメントによると:

メソッド: setLabel

パラメータ: colname、data、class、properties

戻り値: jqGridオブジェクト

説明: 指定された列のヘッダーに新しいラベルを設定します。属性とクラスを設定することもできます。パラメータは次のとおりです。colname列の名前(このパラメータは、0データから始まる数値(列のインデックス)にすることができます。ラベルに入れることができるコンテンツ。空の文字列の場合、コンテンツは変更されません。文字列の場合、addClassを使用してラベルにクラスを追加します。クラスが配列の場合、cssプロパティを介して新しいcssプロパティを設定し、ラベルの属性プロパティを設定します

フィドル: http: //jsfiddle.net/m6DQk/

HTML

<table id="list"></table>
<div id="pager"></div>

JS (ここで最後の3つのステートメントに注意してください)

$(document).ready(function(){
$("#list").jqGrid({
    datatype: "local",
    height: 250,
    colNames: ['Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Notes'],
    colModel: [{
        name: 'id',
        index: 'id',
        width: 60,
        sorttype: "int"
    }, {
        name: 'invdate',
        index: 'invdate',
        width: 90,
        sorttype: "date"
    }, {
        name: 'name',
        index: 'name',
        width: 100
    }, {
        name: 'amount',
        index: 'amount',
        width: 80,
        align: "right",
        sorttype: "float"
    }, {
        name: 'tax',
        index: 'tax',
        width: 80,
        align: "right",
        sorttype: "float"
    }, {
        name: 'total',
        index: 'total',
        width: 80,
        align: "right",
        sorttype: "float"
    }, {
        name: 'note',
        index: 'note',
        width: 150,
        sortable: false
    }],
    multiselect: true,
    caption: "Manipulating Array Data"
});
var mydata = [{
    id: "1",
    invdate: "2007-10-01",
    name: "test",
    note: "note",
    amount: "200.00",
    tax: "10.00",
    total: "210.00"
}, {
    id: "2",
    invdate: "2007-10-02",
    name: "test2",
    note: "note2",
    amount: "300.00",
    tax: "20.00",
    total: "320.00"
}, {
    id: "3",
    invdate: "2007-09-01",
    name: "test3",
    note: "note3",
    amount: "400.00",
    tax: "30.00",
    total: "430.00"
}, {
    id: "4",
    invdate: "2007-10-04",
    name: "test",
    note: "note",
    amount: "200.00",
    tax: "10.00",
    total: "210.00"
}, {
    id: "5",
    invdate: "2007-10-05",
    name: "test2",
    note: "note2",
    amount: "300.00",
    tax: "20.00",
    total: "320.00"
}, {
    id: "6",
    invdate: "2007-09-06",
    name: "test3",
    note: "note3",
    amount: "400.00",
    tax: "30.00",
    total: "430.00"
}, {
    id: "7",
    invdate: "2007-10-04",
    name: "test",
    note: "note",
    amount: "200.00",
    tax: "10.00",
    total: "210.00"
}, {
    id: "8",
    invdate: "2007-10-03",
    name: "test2",
    note: "note2",
    amount: "300.00",
    tax: "20.00",
    total: "320.00"
}, {
    id: "9",
    invdate: "2007-09-01",
    name: "test3",
    note: "note3",
    amount: "400.00",
    tax: "30.00",
    total: "430.00"
}];
    for (var i = 0; i <= mydata.length; i++){
        $("#list").jqGrid('addRowData', i + 1, mydata[i]);
    }
    
    $("#list").jqGrid('setLabel', 1,"aa");
    $("#list").jqGrid('setLabel', 2,"bb");
    $("#list").jqGrid('setLabel', 3,"cc");
    
    });
4

2 に答える 2

3

変化する:

$("#list").jqGrid('setLabel', 1,"aa");
$("#list").jqGrid('setLabel', 2,"bb");
$("#list").jqGrid('setLabel', 3,"cc");

$("#list").jqGrid('setLabel', "id","aa"); //colModel name value
$("#list").jqGrid('setLabel', "invdate","bb");
$("#list").jqGrid('setLabel', "name","cc");
于 2013-03-07T07:50:52.367 に答える
1

のパラメータとして、列の位置ではなく列名のみを使用する必要がありますsetLabel

更新されたコードhttp://jsfiddle.net/m6DQk/1/を参照してください。

于 2013-03-07T07:49:02.133 に答える