在這個例子中:http://dev.sencha.com/deploy/dev/examples/grid/progress-bar-pager.html如果我想把一個刪除按鈕,行從網格中刪除後,我怎麼能改變或刪除這條記錄從myData?因爲當我改變頁面,或點擊o刷新按鈕我的行/行的刪除再次出現。有沒有解決方案來更改數據?Extjs,刪除按鈕
千恩萬謝
在這個例子中:http://dev.sencha.com/deploy/dev/examples/grid/progress-bar-pager.html如果我想把一個刪除按鈕,行從網格中刪除後,我怎麼能改變或刪除這條記錄從myData?因爲當我改變頁面,或點擊o刷新按鈕我的行/行的刪除再次出現。有沒有解決方案來更改數據?Extjs,刪除按鈕
千恩萬謝
喜歡的東西:
var grid = ...; // Your grid.
var button = new Ext.Button({
text: 'Delete row',
handler: function() {
var record = grid.getSelectionModel().getSelected();
if (record !== undefined) {
grid.store.remove(record);
}
}
});
如果您希望您的數據真正被刪除,電網應該使用遠程存儲加載和從實際的數據存儲中刪除數據。下面意味着只有局部變化:
proxy: new Ext.ux.data.PagingMemoryProxy(myData),
你可以嘗試移除,並把
url: 'http://localhost/path/to/get/data'
參考文檔的詳細信息:http://dev.sencha.com/deploy/dev/docs/?class=Ext.data.Store
如果通過這個例子的來源看,它正在加載來自硬編碼陣列的數據:
Ext.onReady(function(){
var myData = [
['3m Co',71.72,0.02,0.03,'9/1 12:00am'],
['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'],
['Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am'],
// ...
['Verizon Communications',35.57,0.39,1.11,'9/1 12:00am'],
['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am']
];
myData
在每次頁面加載時都從該靜態定義重新創建,所以這就是爲什麼更改不會在刷新之間持續存在。
您需要編寫兩個服務器端腳本(例如PHP腳本)。一個以JSON或XML格式輸出未刪除記錄的數據。另一個通過ID從數據庫中刪除記錄。
這裏是一個教程,涵蓋編寫「getter」PHP腳本和相應的Ext JS代碼,用於在技術產品上顯示數據網格:http://www.devarticles.com/c/a/JavaScript/EXT-JS-Passing-Live-Data/。這隻涵蓋了第一個腳本(從數據庫中檢索數據並以JSON格式輸出數據的腳本),但它應該能夠幫助您。使用向第二個腳本(通過ID從數據庫中刪除記錄的腳本)發出AJAX請求的函數,重寫商店的remove
回調。
這是解決方案myData.splice(1,1);
你的想法很好,但我想用現金工作,我不想每次都重新加載數據庫,我刪除了一個產品。我也有一個功能,點擊從我的數據庫刪除行,但我不想重新加載數據庫。如果你有10-20個產品,那麼OK,但是如果你有10.000 ... – cosy 2010-11-29 00:37:28