我想检索一个特定的列名并对其执行事件。如何做到这一点?使用dojox.grid.datagrid。就像目前一样,我的网格中有3列或字段(ID、名称、电子邮件)。我想要一个特定的专栏电子邮件。当我单击该列下的任何值时,对话框都不应打开。但当我点击任何其他位置(在特定行的其他2列上)时,它就会打开。
您可以连接网格的onCellClick事件,并从参数中获取行/列信息。例如:
dojo.connect(grid, "onCellClick", function (e) {
var colField = e.cell.field; // field name
var rowIndex = e.rowIndex; // row index
....
});
并根据这些信息在事件处理程序中添加您的逻辑。
如果您希望在单击该列中的值(而不是整个单元格,其中包括单元格中的空白)时打开对话框,那么您可以使用该字段的format函数,并返回一个作为锚元素的HTML或任何其他可单击的HTML。
例如:
在网格结构中:
columns: [{
label: "Email",
attr: "emailid",
formatter: formatEmail
},
...
function formatEmail(data, item, store) {
return "<a href='mailto:" + data + "'>" + item.nameOfPerson + "</a>";
}