【发布时间】:2009-10-18 06:38:31
【问题描述】:
很抱歉这篇长文。然而,这个问题很小,但需要完整的细节。感谢阅读和帮助:)
我使用 HTTPService POST 方法调用了一个 php 文件,该文件返回给我一个 xml 类型的结果,例如
<user>
<name>jones</name>
<age>34</age>
</user>
此结果是在 php 文件查询数据库后获得的。该数据库还包含其他信息,例如(身高、性别、教育和地址)
现在我在 DataGrid 下方有一个 DataGrid(有两列:NAME 和 AGE)和一个 Form。我使用 dataprovider="{userRequest.lastResult.User}" 属性在 DataGrid 中显示了上述 xml 数据。
我现在想使用 itemclick=itemClickEvent(event) 以便当用户单击 DataGrid 的一行时,与单击的行相关的其他信息,例如(身高、性别、教育等)可能会以放置在 GUI 中 DataGrid 下方的形式出现。现在我的 itemClickEvent 看起来像:
private function itemClickEvent(event:ListEvent):void
{
clickRow.text=String(event.rowIndex);
//Don't know what should i assign to following labels...
//height.text=
//gender.text=
//edu.text=
}
表单的结构:
鉴于 DataGrid 结构标题看起来像
,我有什么方法可以从 itemClickEvent 函数访问 xml 数据?<mx:DataGrid id="dgUserRequest" dataProvider="{userRequest.lastResult.user}" x="28.7" y="36" width="525" height="149" itemClick="itemClickEvent(event);">
HTTPService 标头看起来像
<mx:HTTPService id="userRequest" url="request.php" method=POST">
<mx:request xmlns="">
<getResult>send</getResult>
</mx:request>
</mx:HTTPService>
我的php文件的相关部分是:
if($_POST['getResult'] == 'send')
{
$Result = mysql_query("SELECT * FROM userInfo" );
$Return = "<userInfo>";
while ( $row = mysql_fetch_object( $Result ) )
{
$Return .= "<user><name>".$row->name."</name><age>".$row->age."</age><height>". $row->height."</height><gender>". $row->gender."</gender><education>".$row->education."</education></user>";
}
$Return .= "</userInfo>";
mysql_free_result( $Result );
print ($Return);
}
【问题讨论】:
标签: apache-flex