0

最初の列が Id である Wijmo Grid があります。

$("#logGrid").wijgrid({
    loaded: loadedHandler,
    columns: [
        { headerText: "Id", dataType: "string", dataKey: "Id", visible: false },
        { headerText: "Foo", dataType: "datetime", dataKey: "Foo", },
        { headerText: "Bar", dataType: "string", dataKey: "Bar" }
    ],
    data: datasource
});

パラメータ(defaultSelectedLogId)と同じIDを持つ行の行番号を取得したい。

私は試してみました:

var getRowNumber = function (defaultSelectedLogId) {
    var rowNumbertest = $("#logGrid").closest('tr').prevAll().length;
    var rowNumbertest2 = $("#logGrid tr").prevAll().length; // Result: 7 (total row numbers)

    var rowNumber = $("#logGrid tr").cell("id=[" + defaultSelectedLogId + "]").prevAll().length;
    var rowNumber2 = $("#logGrid tr id=[" + defaultSelectedLogId + "]").cell.column().dataKey.prevAll().length;
    var rowNumber3 = $("#logGrid tr").cell.column().dataKey.prevAll().length;

    return rowNumber;
}

私はシンプルであるべきです。1) 行を繰り返します。2) Id が与えられたパラメーターと等しい行を見つけます。3) 行番号を返します。

編集: firebug でテーブルを調べると、次のような構造になっています。

<tbody class="ui-widget-content wijmo-wijgrid-data">
    <tr class="wijmo-wijgrid-row ui-widget-content wijmo-wijgrid-datarow" role="row">
        <div class="wijmo-wijgrid-innercell">56259</div>
4

1 に答える 1

1

これは、行のゼロベースのインデックスを返す必要があります

var rowNumber = $('div:contains(' + defaultSelectedLogId + ')').closest('tr').index();

編集: 現在は動作しますが、二重引用符の代わりに単一引用符を使用する必要があります。

于 2014-07-07T11:11:50.067 に答える