有时候有需要从数据源取出额外的列而不需要用grid显示出来,这个可以用dataOnlyColumns
属性做到,这个属性指定列的数据会返回为表属性而不是列属性,之后数据可以这样访问:
document.all.dbnetgrid1.table.rows[n][column_name]
..
dataOnlyColumns = ['comments']
onRowSelected = showComments
...
function showComments()
{
document.all.comments.innerText =
document.all.dbnetgrid1.currentRow.style_name
}
...
所有属性名都是小写,不管在数据库或任务中是大小写
如果dataOnlyColumns 名与DOM名冲突,你可以在sql语句里这样重命名:
...
dataOnlyColumns = ['style as style_name']
...
var styleName = document.all.dbnetgrid1.currentRow.style_name
下面例子中的属性用来展示顾客数据,只有Company Name域返回的是grid列,其他的都是表
列,onRowSelected 事件用来显示用标准DOM属性产生的定制表.
...
with (document.all.dbnetgrid1)
{
...
dataOnlyColumns =
["contactname","contacttitle","address","city","region","postalcode","country"
,"phone","fax"]
onRowSelected = showCustomer
loadData()
}
...
//////////////////////////////////////////////////////////////////////////////
////////////////
function showCustomer()
//////////////////////////////////////////////////////////////////////////////
////////////////
{
var grid = window.event.srcElement
var row = grid.currentRow
for (c in grid.dataOnlyColumns)
{
var cn = grid.dataOnlyColumns[c].toLowerCase()
document.all[ cn ].innerText = row[ cn ]
}
}
以后上图