编辑后从YUI数据表中检索更新的数据源

时间:2013-10-18 03:58:38

标签: javascript datatable datasource yui

我正在使用YUI 2.8.2及其小部件中的数据表来编辑数据源(YAHOO.example.Data.response),如下所示:

    this.bpDataSource = new YAHOO.util.DataSource(YAHOO.example.Data.response);
    response_datasource = this.bpDataSource;
    this.bpDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
    this.bpDataSource.responseSchema = {
        resultsList: "item_evaluacion",
        fields: [ ... ]
    };
    this.standardSelectDataTable = new YAHOO.widget.ScrollingDataTable("div_item",
        bpColumnas, this.bpDataSource, {height:"9em"} );

我想从这个数据表中检索已编辑的数据并进行处理。我首先尝试了一个指向this.bpDataSource的变量,但是这个变量只包含原始数据源而没有用户所做的更改。 如何检索数据源的更新版本?

1 个答案:

答案 0 :(得分:1)

DataSource仅检索数据,但不保留对检索到的数据的引用。一旦它将检索到的数据传递给任何请求的数据,在本例中为DataTable,它就会忘记它。然后,DataTable将数据保存在RecordSet集合中,该集合由各个Record实例组成,您可以在其中按字段名称获取值。出于某些有趣的原因,Record和RecordSet的API文档都不在DataTable下。我知道这两个人的文档在那里的某个地方,但他们不知何故被归入其他组件。

无论如何,在DataTable中,你有方法getRecord(),它接受​​一个索引。您可以遍历它,直到它返回null或undefined。否则,我相信你可以做getRecordset().getLength()并使用它来迭代for循环。然后,在每个记录实例上,方法getData()获取列键并返回值。

有关更多信息,请阅读DataTable标题中引用的两篇“使用DataTable小部件”文章。