通用数据浏览示例

<..========================================================
==                                                       ==
==                Macrobject Nuva Samples                ==
==                                                       ==
==      Copyright (c) 2004-2006 Macrobject Software      ==
==                                                       ==
==                  ALL RIGHTS RESERVED                  ==
==                                                       ==
==               http://www.macrobject.com               ==
==                                                       ==
========================================================..>
<.
  class MainForm = System.Ui.HtmlForm(theSchema, tableName)
    var tableSchema = theSchema.Tables.FindBy(Name = tableName)
    var tableObject = theSchema.Objects[tableName]
    
    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">
    <.foreach(fieldInfo = tableSchema.Fields).>
    <td>[.=fieldInfo.Alias.]</td>
    <./foreach.>
  </tr>
  <.foreach(dataObject = tableObject).>
  <tr>
    <.foreach(fieldInfo = tableSchema.Fields).>
    <td>[.=dataObject[fieldInfo.Alias].]</td>
    <./foreach.>
  </tr>
  <./foreach.>
</table>
  <.end function
  end class
  
  var schema = System.Data.LoadSchema
      (
        '......'
      )
  MainForm(schema, '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] 通过一个别名,找到该数据对象的字段/属性。

【扩展】
    本例可以进一步扩展以增强其实用性,比如可以将其改造为支持表间关系的跳转,浏览主表的时候可以跳转到相应的子表,或者浏览子表的时候跳转到相应的主表。
   
【运行结果】
通用数据浏览示例.bmp

..>

posted on 2006-09-27 17:32  Wisdom-zh  阅读(588)  评论(0编辑  收藏  举报

导航