【问题标题】:get gridview datakeys values in javascript在javascript中获取gridview datakeys值
【发布时间】:2013-02-22 18:29:54
【问题描述】:

我想在 JavaScript 中获取 gridview datakeys 值。

我知道我们可以使用获取 gridview 单元格值

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

但我使用 Autogeneratedcolumn = "true"

所以它每次都绑定不同数量的列,并且我的数据键没有特定的地方绑定 ex-

对于 1 个场景,gridview 可以绑定类似

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

对于第二种情况,gridview 可以像这样绑定

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

Tot 是我的数据键,我想在 JavaScript 函数中获取这个值

【问题讨论】:

  • 不能只检查grid.rows[i]的长度然后返回tot1=grid.rows[i].cells[grid.rows[i].length-1];

标签: javascript asp.net gridview


【解决方案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];
    }
}

【讨论】:

    【解决方案2】:

    您的 Tot 列是否总是最后一列?

    var cells = grid.rows[i].cells
    col1 = cells[cells.length-1];
    

    【讨论】:

      猜你喜欢
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多