小编Dev*_*Dev的帖子

在extjs中以dyanamically更新记录中的字段

脚本

我想更新具有静态数据存储的网格中特定记录的列数据.这是我的商店:

extend : 'Ext.data.Store',
model  : 'MyModel',
autoLoad:true,
proxy: {
    type: 'ajax',
    url: 'app/data/data.json',
    reader: {
        type: 'json',
        root: 'users'
    }
},
Run Code Online (Sandbox Code Playgroud)

我的data.json

 {
     'users': [{
         QMgrStatus: "active",
         QMgrName: 'R01QN00_LQYV',
         ChannelStatus: 'active',
         ChannelName: 'LQYV.L.CLNT',
         MxConn: 50
     }]
 }
Run Code Online (Sandbox Code Playgroud)

我正在做什么来更新记录:

var grid = Ext.getCmp('MyGrid');
var store = Ext.getStore('Mystore');
store.each(function(record, idx) {
    val = record.get('ChannelName');
    if (val == "LQYV.L.CLNT") {
        record.set('ChannelStatus', 'inactive');

        record.commit();
    }
});
console.log(store);
grid.getView().refresh();
Run Code Online (Sandbox Code Playgroud)

我的问题

我在这里更新记录.它没有反映在我的网格面板中.网格使用相同的旧存储(静态).是静态数据的问题?或者我错过了什么或者出错了?请帮我解决这个问题.非常感谢.

我的编辑

我尝试根据状态对列进行颜色编码.但是,即使我正在更新商店,我总是得到status ="active".

我想在网格中做什么

{
    xtype: 'grid',
    itemId: …
Run Code Online (Sandbox Code Playgroud)

extjs gridpanel extjs4.2

9
推荐指数
3
解决办法
4万
查看次数

在hibernate xml映射中映射没有主键的数据库视图

我创建了一个仅用于获取数据的视图(只读)

查看:Grid_View

>我的Hibernate hbm文件

<hibernate-mapping>   
     <class name="hibernate.domain.View" table="Grid_View" mutable="false">
         <property name="ACCT_BR_CD" type="string">
            <column name="ACCT_BR_CD"/>
        </property>
        <property name="ACCT_NO" type="string">
            <column name="ACCT_NO"/>
        </property>
        <property name="LGL_ENTY_NM" type="string">
            <column name="LGL_ENTY_NM"/>
        </property>
        <property name="CUST_CTRY_CD" type="string">
            <column name="CUST_CTRY_CD"/>
        </property>
        <property name="ACCT_SRC_SYS_CD" type="string">
            <column name="ACCT_SRC_SYS_CD"/>
        </property>    
    </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

>因为在我看来它们不是主键,我在映射中没有提到id字段. 但是在hibernate中,id是必需的.

>我的问题

如何在hibernate映射文件中继续没有id的映射.并且它们没有具有独特价值的列,因此没有任何机会将它们作为关键.请帮我解决这个问题

model-view-controller hibernate spring-mvc hibernate-mapping hbmxml

6
推荐指数
1
解决办法
2万
查看次数

我们可以使用导航器在反应原生中渲染相同的路线吗?

我有一个观点,可以说DynamicView.我试图用不同的参数在导航器中推送相同的视图(DynamicView).

this.props.navigator.push({
    component: DynamicView,
    params: {} //Different params
})
...
export default connect(mapStateToProps, mapDispatchToProps)(DynamicView)
Run Code Online (Sandbox Code Playgroud)

DynamicView与redux流程连接.但我无法访问推送组件中的最新状态.

我想知道,这是否是正确的做法?如果是,我如何访问推送组件中与父级相同的最新状态.如果不是,那么还有其他方法可以动态创建新路由.

任何帮助表示赞赏.谢谢.

React Native v0.40

javascript reactjs react-native react-redux

6
推荐指数
1
解决办法
295
查看次数

keyup 事件未在文本字段的 setValue() 上触发

我正在使用两个 tabpanels(例如T1T2)。它们是T2中的两个文本字段和提交按钮,如图所示:

xtype: 'form',
title: 'Search',
id:'searchref',                          
items: [
    {
        xtype: 'textfield',
        fieldLabel: 'reference1',
        id:'reference1',     
        enableKeyEvents:true,
        listeners:{
            keyup:function(){
                Ext.getCmp('Submit').enable();
                Ext.getCmp('reference2').disable();
                if(Ext.getCmp('reference1').getValue() == "" )
                {
                    Ext.getCmp('Submit').disable();
                    Ext.getCmp('reference2').enable();
                }                                                       
            }
        }
     },
     {
            xtype: 'textfield',
            fieldLabel: 'reference2',
            id:'reference2',     
            enableKeyEvents:true,
            listeners:{
                keyup:function(){
                    Ext.getCmp('Submit').enable();
                    Ext.getCmp('reference1').disable();
                    if(Ext.getCmp('reference2').getValue() == "" )
                    {
                        Ext.getCmp('Submit').disable();
                        Ext.getCmp('reference1').enable();
                    }                                                       
                }
            }
      },

    {
        xtype: 'button',
        text: 'Submit',
        disabled:true,  
        id:'Submit',                            
    }   
]
Run Code Online (Sandbox Code Playgroud)

在我的T1 中,我正在尝试按如下所示执行:

Ext.getCmp('tabpanel').setActiveTab(1);
Ext.getCmp('reference1').setValue(RefNo);
Run Code Online (Sandbox Code Playgroud)

我的问题:

T1设置文本字段的值时不会触发 keyup 事件侦听器 …

extjs extjs4

5
推荐指数
1
解决办法
4892
查看次数

选中并取消选中treepanel中的节点

要做的事情:检查孩子应该检查树上的父母,清除父复选框应清除所有孩子.

示例:

parent1
--child1
--child2
     --subChild1
     --subChild2

场景1:在上述情况下,如果选中了subChild1,则还应检查parent1和child2.

场景2:如果选中parent1,则应取消选中其所有子项(已选中).

从此检查/取消选中节点,仅当选择父节点时,才会选择其子节点.

它们是按照我想要的方式实现的,但由于复杂程度足以让我理解,因此无法弄清楚(实现).这是它的参考

请帮我解决这个功能.谢谢.任何帮助将不胜感激.

extjs treepanel extjs4.2

4
推荐指数
1
解决办法
7360
查看次数