2010-01-20 102 views
0

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

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

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

回答

0

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

+0

除非我错误地阅读了这个内容,这听起来像是指您为表格获取列名,这与您所描述的完全相同。我在询问数据表本身的名称。 – 2010-01-20 18:38:02

+0

对于表名我也是这样。如果你可以在调试器中看到它们作为Tables对象的属性,你应该可以通过for..in循环遍历这些属性来获取它们。结果对象的结构是什么样的? – 2010-01-20 19:19:11

+0

实际上有一个收集物业链下方的列名称。结果对象由Flex自动从Web服务结果转换为DataSet特定的类层次结构,我无法找到访问表列表的方式。你是否提出了一个反射解决方案来收集名称,因为它们是Tables对象的属性?它看起来可以工作,所以我现在正在探索它。有没有办法使用for..in循环来访问对象上的属性列表? – 2010-01-20 20:06:49