【问题标题】:Obtain DataTable names from Flex从 Flex 获取 DataTable 名称
【发布时间】:2010-01-20 17:30:33
【问题描述】:

我有一个 C# Web 服务,它返回一个包含多个 DataTable 的 DataSet。在 Flex 中使用这个 Web 服务事件处理程序很容易获取数据:

static public function getData_Handler(event:ResultEvent):void 
{
    for each(var table:Object in event.result.Tables)
    {
        // ...
    }
}

如何从 Flex 访问每个 DataTable 的名称?调试时,很明显每个 DataTable 的名称都映射到 event.result.Tables 对象上的属性,但我没有看到获取名称的字符串表示形式的编程方式。

【问题讨论】:

    标签: .net apache-flex datatable dataset


    【解决方案1】:

    我认为它们不会在结果对象中单独提供。获取它们的最佳方法是使用 for...in 循环遍历结果对象的一项,然后从那里读取列名。

    【讨论】:

    • 除非我读错了,否则听起来您指的是获取表的列名,这与您所描述的完全一样。我问的是数据表本身的名称。
    • 我想表名也是如此。如果您可以在调试器中将它们视为 Tables 对象的属性,您应该能够通过使用 for..in 循环遍历属性来获取它们。结果对象的结构是什么样的?
    • 实际上在属性链的下游有一个列名集合。结果对象由 Flex 自动从 Web 服务结果转换为特定于 DataSet 的类层次结构,我无法找到访问表列表的方法。您是否建议使用反射解决方案来收集名称,因为它们是 Tables 对象上的属性?看起来这可以工作,所以我现在正在探索它。有没有办法使用 for..in 循环来访问对象的属性列表?
    • 是的,如果您使用 for..in 循环,它将遍历对象的属性名称。 for each..in 循环将遍历属性值。
    • 我很抱歉 - 我完全错过了 for..in 函数循环遍历动态属性。这正是我一直在寻找的。现在我希望我有代表投票给这个答案......
    猜你喜欢
    • 1970-01-01
    • 2012-07-05
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 2011-04-03
    相关资源
    最近更新 更多