方便的 XML 数据绑定

<..========================================================
==                                                       ==
==                Macrobject Nuva Samples                ==
==                                                       ==
==      Copyright (c) 2004-2006 Macrobject Software      ==
==                                                       ==
==                  ALL RIGHTS RESERVED                  ==
==                                                       ==
==               http://www.macrobject.com               ==
==                                                       ==
========================================================..>
<.
  class MainForm = System.Ui.HtmlForm()
    var xml = System.Xml.Document('Root')
    var node = xml.Root
    node.Value = 'Value'
    node.Props.Time = System.TickCount
    
    AutoBind = true
    
    function CreateBody().>
Name : <input type="text" mo:bind="value=[.=node.@Name.]"><br>
Value: <input type="text" mo:bind="value=[.=node.@Value.]"><br>
Time : <input type="text" mo:bind="value=[.=node.Props.@Time.]"><br>
<br><input type="button" value=" Test " mo:onclick="Test"><br>
  <.end function
    
    function Test()
      System.Ui.ShowMessage(
        'Test',
        '<textarea style="width=95%;height=100">' ~ xml.ToString
~ '</textarea>'
, [node.Name, node.Value, node.Props.Time], 400, 200) end function end class MainForm().Show() System.App.Run() .>


<..
【简介】
    本例是一简单的 XML 数据绑定测试程序,能够将 Xml 节点名称、节点值、属性值与 GUI 元素进行绑定。

【看点】
    1、本例演示了 Nuva 语言的 GUI 应用、面向对象编程、事件驱动以及数据绑定,相应的内容请参考简单浏览器的示例程序及其说明。

    2、例中 MainForm 类的属性 AutoBind 指明自动绑定,这样不需编程,所有的绑定都能自动完成。

    3、本例非常典型的显示出 Nuva 语言在和 Html 语言配合使用时构造界面的方便性和实用性,加上 Nuva 语言非常方便的数据绑定和事件驱动编程模型,使用 Nuva 语言可以非常方便的编写 GUI 程序。

    4、mo:bind 标记了一个数据绑定,格式为 <htmlAttr>[:read|:write|:any]=<nuvaObj>{;...},默认为 any,表示可读写绑定。可以一次绑定一个 HtmlElement 的多个属性,比如 value、classname、style.color 等。

    5、System.Ui.ShowMessage 第二个参数(消息部分)可以是任意 Html 文本。

【扩展】
    本例演示了 Nuva 语言在 Gui 上对 Xml 数据的绑定功能,这项功能有助于很轻松的编写 Gui 和数据处理程序。

【运行结果】
    可以运行这个程序,修改这些值,点击 Test,看看这些值是不是已经成功的绑回 Xml 了!
..>

posted on 2006-09-26 18:03  Wisdom-zh  阅读(1012)  评论(4编辑  收藏  举报

导航