extjs grid如动态同步表单元格

问题描述

extjs grid如动态同步表单元格

我在grid里面设置了rowedting,里面有一列A是combobox,当用户选择了列A的值以后会向后台请求一个与列A级联的列B的值
grid的model里面有A和B
combobox里面有displayName和Value
我为列A设置了renderer

 function(value,metadata,record){
    var selectStore=Ext.data.StoreMgr.lookup('SelectStore');
    var index = SelectStore.find('A',value);
    if(index!=-1){
    record.data.B=dirSelectStore.getAt(index).data.value;
    return SelectStore.getAt(index).data.displayName;
    }
}

我这样写后,后台的store里面的值是对的,但是界面上是没有显示的,应该怎样做,才能同步store和grid的值

解决方案

 <div style="height:500px;background:#999"></div>
<div id="fixedMenu" style="background:#eee;width:100%;">我是菜单,我到页头会固定</div>
<div style="height:900px;background:#999"></div>
<script type="text/javascript" src="http://www.coding123.net/js/jquery.js"></script>
<script type="text/javascript">
    $(function () {
        var ie6 = /msie 6/i.test(navigator.userAgent)
        , dv = $('#fixedMenu'), st;
        dv.attr('otop', dv.offset().top); //存储原来的距离顶部的距离
        $(window).scroll(function () {
            st = Math.max(document.body.scrollTop || document.documentElement.scrollTop);
            if (st >= parseInt(dv.attr('otop'))) {
                if (ie6) {//IE6不支持fixed属性,所以只能靠设置position为absolute和top实现此效果
                    dv.css({ position: 'absolute', top: st });
                }
                else if (dv.css('position') != 'fixed') dv.css({ 'position': 'fixed', top: 0 });
            } else if (dv.css('position') != 'static') dv.css({ 'position': 'static' });
        });
    });

</script>

http://www.coding123.net/article/20121101/javascript-fix-guider-when-scroll-to-top.aspx

解决方案二:

添加a的renderer没用,要给a添加change事件,执行你的ajax或者其他操作来更新b的编辑器,如下


                listeners: { change: function (cb, newvalue, oldvalue, opts) {
                    var b = Ext.getCmp('b对应的编辑器的id');
                    //..你的操作。。不知道你b的编辑器是什么,自己找对应的编辑器来API来操作。如果也是combobox可以按照下面的
                    var store = b.getStore();
                    store.load({ params: {a:newvalue} });//依据a选择的新值重新加载下b的数据源,你的动态页记得获取a参数查询数据对应的数据
                }
                }
时间: 2024-11-16 22:37:39

extjs grid如动态同步表单元格的相关文章

poi java excel-java poi 导出excel 把一样的数据动态合并单元格

问题描述 java poi 导出excel 把一样的数据动态合并单元格 急求,有一个list数据 导出成 这种格式 公司和年份两列是要有动态合并功能 并且年份合并的时候不能跨公司 有没有大神帮帮忙... HSSFWorkbook workbook = new HSSFWorkbook(); String[] columnNames = new String[]{"编号","公司", "年份","性质", "名称&qu

wpf 如何获取datagridcell 我需要动态改变单元格的背景

问题描述 wpf 如何获取datagridcell 我需要动态改变单元格的背景 根据条件动态改变单元格背景或者字体.已经获取到行,但是调试了很久不知道如何锁定到某个单元格... for (int i = 0; i < dg.Items.Count; i++) { DataRowView drv = dg.Items[i] as DataRowView; string age = Convert.ToString(drv[""One""]); if (age !

jquery 动态合并单元格的实现方法_jquery

如下所示: ////在table的第二行的位置添加一行: var tbl_elm = $("#dgList"); $('<tr><td colspan=\'2\'>xxxxxx</td></tr>').insertBefore($("TR", tbl_elm).eq(1)) ////table中指定行第N列合并单元格(合并后会多出一列,删除N+1单元格即可) var tds = $("#dgList .Tab

JSP中动态合并单元格的实例代码_JSP编程

废话不多说了,具体代码如下所示: <span style="font-size:14px;"> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <table width="100%" border="0" cellspacing="0" cellpadding="0&q

EasyUI DataGrid根据字段动态合并单元格

1.合并方法 /*** EasyUI DataGrid根据字段动态合并单元格* 参数 tableID 要合并table的id* 参数 colList 要合并的列,用逗号分隔(例如:"name,department,office");*/function mergeCellsByField(tableID, colList) {    var ColArray = colList.split(",");    var tTable = $("#"

extjs4.0, grid表格,修改单元格数据.

问题描述 // 代码如下,当点击元格时,修改,然后就会发送url请求.(这个是grid自动完成的.)// 现在需要的是,不要自动发送请求,因为我修改不止一个单元格,如果每次修改一单元格都发送请求,效率太低.// 所以想实现,修改完全后,统一提交整个grid数据(点击按钮). plugins: Ext.create('Ext.grid.plugin.CellEditing', {clicksToEdit : 1,});columns : [ Ext.create('Ext.grid.RowNumb

请教一下jQuery Ajax动态添加单元格的问题

问题描述 这是我写的jquery$("#dataTab").pagerAshx("../Handler.ashx",{action:"Allplan",ChanID:args.ChanID},function(returnList){$("#dataTabtr:gt(0)").remove()vartab=document.getElementById("dataTab");for(vari=0;i<

动态合并单元格

问题描述 数据查询出来之后,相同的列进行合并如何实现,效果如图所示 解决方案 解决方案二:你的数据首先必须是树状的才好这样排版,如果你的数据取出来就是一行一行的,那很难.如果你只有这一个表的数据的话,那建议你分三次查询,第一次查询片名,第二次查询排期,第三次才查询最终的场次.这样按照树状组织数据,你再布局就容易了.解决方案三:你可以select的时候orderbycolumn1,column2.这样出来的数据就是一组的在一起了,然后遍历时做一个算法,遇到不一样的才单起一行.或者先在内存里把取出的

Jtable动态改变单元格 谢谢,急用!

问题描述 小弟现在在做排课算法,其中有一模块是录入老师不便排课的时间,在一个5*5的Jtable中通过点击相应的单元格来设置时间.5*5的Jtable刚开始全部为白色(表示都可用),当点击某一个单元格之后需要将其颜色设置为绿色(表示不可用),但当再次点击绿色的单元格时需将其再还原为白色(解决操作失误问题).自己的思路是用一个time[5][5]数组,全部初始化为1,当点击一次就将对应的值*(-1)来改变其值,然后遍历整个数组将值为-1对应的单元格置为蓝色.1,该事件应设置为mousePress(