2013-10-18 124 views
0

我使用從YUI 2.8.2數據表和它的部件如下編輯數據源(YAHOO.example.Data.response):檢索從YUI的數據表更新數據源編輯後

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

DataSource只檢索數據,但不保存對檢索數據的引用。一旦它將檢索到的數據傳遞給任何要求的數據,在這種情況下DataTable就會忘記它。然後,DataTable將數據保存在RecordSet集合中,該集合由各個Record實例組成,您可以通過字段名稱獲取值。出於一些有趣的原因,Record和RecordSet的API文檔不在DataTable下。我知道這兩個文件在那裏,但它們以某種方式歸於其他組件之下。

無論如何,在DataTable中,您有方法getRecord()需要一個索引。你可以遍歷它直到它返回null或undefined。否則,我相信你可以做getRecordset().getLength()並使用它來迭代for循環。然後,在每個記錄實例上,方法getData()獲取列鍵並返回值。

有關更多信息,請閱讀DataTable標題中引用的兩篇'使用DataTable小部件'文章。

相關問題