如何从YUI数据表中获取所选行的内容?

时间:2010-03-07 20:50:33

标签: yui

我正在尝试在YUI数据表中连续获取单元格的内容。

我可以使用myDataTable.getSelectRows()[0]来获取第一个选定的行。但是,如何获取该行中第一个单元格的内容?

2 个答案:

答案 0 :(得分:4)

看起来getSelectRows()返回记录ID数组。您可以使用getRecord()检索相应的记录。获得记录后,使用getData()检索您感兴趣的字段的值。

var recordID = myDataTable.getSelectRows()[0],
    record = myDataTable.getRecord(recordID);
console.log(record.getData("myField"));

http://developer.yahoo.com/yui/docs/YAHOO.widget.DataTable.html#method_getRecord http://developer.yahoo.com/yui/docs/YAHOO.widget.Record.html#method_getData

答案 1 :(得分:2)

我想如果你自己还没有找到答案,我可能会给你答案。

我有相同类型的带有数据表和textarea字段的页面,当您在数据表调用中选择一行时,同一页面将显示textarea字段中所选行的更多详细信息,并保留所选行的选择。

1:为此,我应用以下示例MySQL查询AllMyBroadcasts ...

SELECT @rownum:= @ rownum + 1 RowNumber,p。* FROM tblBroadcasts p,(SELECT @rownum:= 0)r ORDER BY Date DESC

tblBroadcasts表包含字段:日期,叙述,ID

2:然后我在HTML超链接标记中向我的YUI数据表的表行提供以下内容。

href =“MyPage.php?SelectedBroadcastID ='。$ row_Broadcasts ['ID']。'& RowNumber ='。($ row_Broadcasts ['RowNumber'] -1)

3:当点击href时,MyPage重新加载其他参数SelectedBroadcastID和RowNumber我在第二个查询中使用的SelectedBroadcastID对着名为MySlectedBroadcast的tblBroadcasts,这是一个关于输出ID = SelectedbordcastID的所有字段的简单查询。然后我到我的领域,在我的textarea字段中显示我所选行的叙述。

第二个参数我做了以下。

$ SelectedRowID = 0; if(isset($ _ GET ['RowNumber'])){ $ SelectedRowID = $ _GET ['RowNumber']; }

上面我刚刚在我的两个查询的代码之后放置。

4:然后最后得到数据表来选择所选行的行我将以下内容包含在数据表脚本的var yuidatdatable部分...

yuidatatable1.select(yuidatatable1.getRow());

参考步骤2的-1值可以解决yuidatatable在0基础上运行的问题,以及在1基础上在步骤1中引用的MySQL。

你去吧!

也许有更好的为什么在YUIDatatable脚本中使用get,很高兴知道如果是这样。那说这对我来说很好,也许如果你没有找到答案,我希望这会有所帮助。