extjs 同一界面 显示字段不同

本文介绍了一个基于Ext框架的新闻管理系统,该系统通过不同的按钮触发新闻的插入和查看功能。通过调整表单字段的可见性和只读属性来实现新闻的创建与预览。此外,文章还展示了如何从表格中选择数据并将其加载到表单中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**

 * 打卡系统控制层

 */

Ext.define("core.xiaoye.News.controller.NewsController",{
    extend:"Ext.app.Controller",
mixins: {
    messageUtil:"core.util.MessageUtil",
    queryUtil:"core.util.QueryUtil",
    suppleUtil:"core.util.SuppleUtil",
    sqlUtil:"core.util.SqlUtil"
},

init:function(){
var self=this;
//事件注册
this.control({
    "panel[xtype=news.newsgrid] button[ref=gridInsertF]":{
    click:function(btn)
    {

        //得到组件
        var baseGrid=btn.up("basegrid");
        var funCode=baseGrid.funCode;
        var basePanel=baseGrid.up("basepanel[itemId="+funCode+"_basepanel]");
        var baseForm=basePanel.down("baseform[itemId="+funCode+"_baseform]");
        var formObj=baseForm.getForm();
        var button=baseForm.down("button[ref=formSave]");
        button.setVisible(true);

        formObj.findField("createDeptName").setVisible(false);
        formObj.findField("createUserName").setVisible(false);
        formObj.findField("createTime").setVisible(false);
        formObj.findField("content").setReadOnly(false);
        formObj.findField("title").setReadOnly(false);
        formObj.findField("type").setReadOnly(false);
    }
},

"panel[xtype=news.newsgrid] button[ref=gridLook]":{
click:function(btn)
{
    //得到组件
    var baseGrid=btn.up("basegrid");
    var funCode=baseGrid.funCode;
    var basePanel=baseGrid.up("basepanel[itemId="+funCode+"_basepanel]");
    var baseForm=basePanel.down("baseform[itemId="+funCode+"_baseform]");
    //得到选中数据
    var rescords=baseGrid.getSelectionModel().getSelection();
    var baseCenterPanel=baseGrid.up("basecenterpanel[itemId="+funCode+"_basecenterpanel]");
    var funData=basePanel.funData;

    if(rescords.length==1){
        var data=rescords[0].data;
        var insertObj=data;
        var formObj=baseForm.getForm();
        formObj.findField("id").setValue(insertObj.id);
        formObj.findField("content").setValue(insertObj.content);
        formObj.findField("createDeptName").setValue(insertObj.createDeptName);
        formObj.findField("createTime").setValue(insertObj.createTime);
        formObj.findField("createUserName").setValue(insertObj.createUserName);
        formObj.findField("title").setValue(insertObj.title);
        formObj.findField("type").setValue(insertObj.type);

        var button=baseForm.down("button[ref=formSave]");
        button.setVisible(false);

        formObj.findField("createDeptName").setVisible(true);
        formObj.findField("createUserName").setVisible(true);
        formObj.findField("createTime").setVisible(true);
        formObj.findField("content").setReadOnly(true);
        formObj.findField("title").setReadOnly(true);
        formObj.findField("type").setReadOnly(true);
        if(baseCenterPanel){
            baseCenterPanel.hide();
        }else{
            baseGrid.hide();
        }

        baseForm.show();
    }else{
        alert("请选择数据");
}

//执行回调函数

if(btn.callback){
    btn.callback();
}
}
}
});
},views:[
    "core.xiaoye.News.view.NewsGrid",
    "core.xiaoye.News.view.NewsForm",
    "core.xiaoye.News.view.NewsPanel"
],

stores:[
    "core.xiaoye.News.store.NewsStore"
]
});

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值