如何在dojo网格中获取列名称。

时间:2012-03-12 09:37:15

标签: javascript dojo dojox.grid dojox.grid.datagrid

我想检索特定的列名并在其上执行事件。怎么做 。 ?使用dojox.grid.datagrid。就像目前我的网格中有3列或字段(ID,名称,电子邮件)。我想要一个特定的列电子邮件。当我单击该列下的任何值时,不应打开该对话框。但是当我点击任何其他位置(在特定行的其他2列上)时,它会打开。

2 个答案:

答案 0 :(得分:4)

您可以连接网格的onCellClick事件并从参数中获取行/列信息。例如:

dojo.connect(grid, "onCellClick", function (e) {
    var colField = e.cell.field; // field name
    var rowIndex = e.rowIndex; // row index
    ....
});

并根据这些信息在事件处理程序中添加逻辑。

答案 1 :(得分:0)

如果要在单击该列中的值(而不是整个单元格,包括单元格中的空格)时打开对话框,则可以使用该字段的格式函数并返回作为锚点的HTML元素或任何其他可点击的HTML。

例如:

在网格结构中:

columns: [{
label: "Email",
attr: "emailid",
formatter: formatEmail
},
...

function formatEmail(data, item, store) {
    return "<a href='mailto:" + data + "'>" + item.nameOfPerson + "</a>";
}