3

JavaScriptでgridviewdatakeysの値を取得したい。

グリッドビューのセル値を使用して取得できることを知っています

 col1 = grid.rows[i].cells[5];

しかし、私はAutogeneratedcolumn="true"を使用します

そのため、毎回異なる数の列でバインドされ、データキーが元にバインドされる特定の場所はありません。

1つのシナリオの場合、gridviewは次のようにバインドできます

Code  A1 A2 A3 Tot
as1    1  2  3  6
as2    2  3  4  9

2番目のシナリオの場合、gridviewは次のようにバインドできます

Code  A1 A2  Tot
as1    1  2   3
as2    2  3   5

Totは私のデータキーですJavaScript関数でこの値を取得したい

4

2 に答える 2

1

Tot 列が常に Tot であり、その名前を持つ列が他にない場合は、ヘッダーのデータキー テキストを検索し、それに基づいて行の値を取得できます。

var grid = document.getElementById('<%=grd.ClientID %>');
var header = grid.rows[0];
var dataKeyIndex = -1;
var dataKeyHeaderText = "Tot";

//Find index of the DataKey column
for (var i = 0; i < header.cells.length; i++) {
    var cell = header.cells[i];
    if (cell.innerText == dataKeyHeaderText) {
        dataKeyIndex = i;
        break;
    }
}

if(dataKeyIndex != -1){

    //Loop the rows retrieving the value
    for (var i = 0; i < header.rows.length; i++) {
        var row = header.rows[i];
        var dataKeyValue = row.cells[dataKeyIndex];
    }
}
于 2013-02-22T21:20:39.053 に答える
1

Tot 列は常に最後の列ですか?

var cells = grid.rows[i].cells
col1 = cells[cells.length-1];
于 2013-02-22T18:34:38.307 に答える