2011-04-08 56 views
0

我想要将Ext JS网格数据发布到数据库中...是否有任何教程指导我将整个网格发布到服务器? PLZ的帮助..extjs网格发布数据轨道

+0

它是一个可编辑网格?否则为什么你要发布网格到数据库? – 2011-04-08 10:26:45

+0

我想要做的是我有形式,其中我插入的细节反过来被添加到网格..当所有的记录已被插入网格中,我想一次发布所有记录到数据库中... – Shruti 2011-04-08 10:31:26

回答

2

我会建议循环通过商店为您的网格和添加数据到数组或对象,然后用AJAX发布。

你可以得到的数据是这样的:

var resultArray = []; 

for (var i=0; i < yourGridObject.store.data.items.length; i++) 
{ 
    resultArray.push(this.store.data.items[i].data.columnName1); 
} 

然后用AJAX

var conn = new Ext.data.Connection(); 
conn.request({ 
    url: 'foo.php',  
    method: 'POST', 
    success: successCallBack, 
    failure: failureCallback, 
    params: { gridData: resultArray.join(',') } 
}); 
+0

thanx dasha..i dnt想要使用数组.. ..有没有其他方法? – Shruti 2011-04-11 10:03:58

+0

据我所知并不如此。 – 2011-04-11 10:45:57

+0

嘿可以any1 plzz告诉我如何提交ExtJS形式??我想将表单数据提交给JSON商店... – Shruti 2011-04-12 06:05:48

0

张贴其实解决的办法是不那么硬(一个我做的)。

假设你有一个模型,并希望网格项目成为这个模型的一部分。

1确保该模型类型的代理“AJAX”(不休息)

2使用这个代理下面笔者

writer: new Ext.data.JsonWriter({ 
     encode: false, 
     writeAllFields: true, 
     listful: true, 
     root: 'data' //optional 
}) 

3遍历网格创建一个数组

var itemsArr = []; 
myGrid.each(function(record){ 
    itemsArr.push(record.data); 
}); 

4创建模型的实例,并链接网格项目

var model = Ext.ModelManager.create({ 
    Name  : 'Deckard Cain', 
    Address  : 'Tristram', 
    myItems  : itemsArr //The model contains this item (since hasMany don't work for nested store writer submit) 
}, 'MyModel'); 

5保存它(使用模型实例)

model.save(); 
// This will send to the server an ajax request {"data":{"Name":"Deckard Cain","Address":"Tristram","myItems":[{"gridId":1,"gridItemName":"name2"},{"gridId":2,"gridItemName":"name2"}]}} 

我张贴这种解决方案也于:

http://www.sencha.com/forum/showthread.php?124362-Nested-loading-nested-saving-in-new-data-package