FineUI 官方论坛

标题: 请问老大 gridM.Rows.Add()可否增加ajax功能~ [打印本页]

作者: 凤凰涅盘ing    时间: 2013-10-14 14:57
标题: 请问老大 gridM.Rows.Add()可否增加ajax功能~


GridRow row = new GridRow(gridM, defaultObj, 0);
                row.Values = valuesStr.Clone() as String[];
                gridM.Rows.Add(row);

这样可以AllowCellEditing=false 后台直接添加一个新行,而前台显示出来了。

当AllowCellEditing=true 选择行时,有很多不确定情~~

作者: sanshi    时间: 2013-10-14 16:25
“这样可以AllowCellEditing=false 后台直接添加一个新行,而前台显示出来了”
===
这个和后台改变数据集合,并重新绑定数据,有啥区别?
作者: 凤凰涅盘ing    时间: 2013-10-14 22:39
本帖最后由 凤凰涅盘ing 于 2013-10-14 22:46 编辑
sanshi 发表于 2013-10-14 16:25
“这样可以AllowCellEditing=false 后台直接添加一个新行,而前台显示出来了”
===
这个和后台改变数据集合 ...


有的~
1、因为表格的列都是动态生成的,所以如果全面重新绑定的话,那么所有列都要动态生成一遍。
2、因为重新绑定了数据,那么SelectedRowIndex和pageindex的值就不能保持了。
3、因为安全绑定,必要造成全部数据都要从服务器端下载一次,这样加载时间就会变得很长。

如果gridM.Rows.Add(row);可以支持ajax的话,其实上边的问题都可以解决了。

另外,如果gridM.Rows.Add(row);添加ajax直接比较麻烦,非常盼望给出一个客户端js添加新记录的方法。
我已经查了很多资料,好象要先Ext.data.Record.Craete([a:A],[b:B]),可是没有并未找到如何从grid返推出record结构之方法,所以也就无法自行编写正确的js。

我在示例的中 FineUI.Examples\grid\grid.aspx 中添加如下js,可是会报如图2所示之错误:
[attach]3363[/attach]
[attach]3365[/attach]

为方便您测试,特将代码帖上。万望于百忙之中,指点迷经~谢谢~~
Ext.onReady(function () {
var gd = Ext.getCmp('Grid1');
var store = gd.getStore();
store.insert(0,
{
Grid1_ctl00: '0000', Grid1_ctl01: '1111', Grid1_ctl02: '2222',
Grid1_ctl03: '3333', Grid1_ctl04: '4444', Grid1_ctl05: '5555',
Grid1_ctl06: '6666', Grid1_ctl07: '7777'
});





欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4