通用数据浏览示例
<..========================================================
== ==
== Macrobject Nuva Samples ==
== ==
== Copyright (c) 2004-2006 Macrobject Software ==
== ==
== ALL RIGHTS RESERVED ==
== ==
== http://www.macrobject.com ==
== ==
========================================================..>
<.
class MainForm = System.Ui.HtmlFormtheSchema, tableName var tableSchema = theSchema.Tables.FindByName = tableName var tableObject = theSchema.ObjectstableName
function CreateHead.>
<style type='text/css'>
body, td {
font-family: Tahoma;
font-size: 8pt;
line-height: 18px
}
td {
border-width: 1px;
border-color: #808080;
border-style: solid;
}
tr.Head {
background-color: #F0F0F0;
text-align: Center;
}
</style>
<.end function
function CreateBody.>
<table width="100%">
<tr class="Head">
<.foreachfieldInfo = tableSchema.Fields.>
<td>[.=fieldInfo.Alias.]</td>
<./foreach.>
</tr>
<.foreachdataObject = tableObject.>
<tr>
<.foreachfieldInfo = tableSchema.Fields.>
<td>[.=dataObjectfieldInfo.Alias.]</td>
<./foreach.>
</tr>
<./foreach.>
</table>
<.end function
end class
var schema = System.Data.LoadSchema
'......'
MainFormschema, 'Product'Show System.App.Run.>
<..
【简介】
本例是一个通用数据浏览示例,通过读入架构信息(可以直接从数据库提取,参见<<数据架构提取>>示例程序;或者通过 CodeAuto 提取,不同的是,CodeAuto 提供了方便的界面可以更改一些架构信息,比如为对象起别名),可以显示数据库的关系数据。
本例将架构内的 Product 表信息显示为一个 html/table 表格,字段名显示在表头。
【看点】
1、本例演示 Nuva 语言的数据架构提取和信息浏览功能,在 Nuva 语言中,提取数据架构和显示数据信息内容,都是非常简单的操作。
2、theSchema.Tables.FindBy(Name = tableName) 通过 tableName 找到架构中的表信息。
3、theSchema.Objects[tableName] 通过 tableName 找到该表的 ObjectSet。
4、dataObject[fieldInfo.Alias] 通过一个别名,找到该数据对象的字段/属性。
【扩展】
本例可以进一步扩展以增强其实用性,比如可以将其改造为支持表间关系的跳转,浏览主表的时候可以跳转到相应的子表,或者浏览子表的时候跳转到相应的主表。
【运行结果】
..>