Nov 26, 2010, 4:22 PM
Add records dynamically, problem about Save store
Hi everyone,
My GridPanel load records dynamically at client side, when I save GridPanel, I can't get Created json at store's OnBeforeStoreChanged event.
code like this:
is only record added by "grid.getStore().addRecord(record)" method can be recognize as created data when saveing?
My GridPanel load records dynamically at client side, when I save GridPanel, I can't get Created json at store's OnBeforeStoreChanged event.
code like this:
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("name");
DataRow dr=dt.NewRow();
dr["id"]="no1";
dr["name"]="name1";
dt.Rows.Add(dr);
DataRow dr2=dt.NewRow();;
dr2["id"]="no2";
dr2["name"] = "name2";
dt.Rows.Add(dr2);
X.Js.AddScript("loadData('" + JSON.Serialize(dt) + "')");
client side:// try 1:
function loadData(data) {
GridPanel1.getStore().loadData(eval(data));
GridPanel1.getStore().each(function (v) {
v.newRecord = true;
})
}
// try 2:
function loadData(data) {
GridPanel1.getStore().insert(0, eval(data));
}
all these two ways load data normally, but can't save store date as created. if I didn't modify anything, store's OnBeforeStoreChanged couldn't fire at all. How could I get what I want to?is only record added by "grid.getStore().addRecord(record)" method can be recognize as created data when saveing?
Last edited by zhangsir199; Nov 27, 2010 at 2:52 AM.