关于extjs创建页面的信息

  • 1、如何在extjs中打开一个新的界面,原先的界面还存在。
  • 2、Extjs页面创建了一个窗口代码如下,请教大家如何通过itemId 来直接访问最下面的这个’保存’按钮
  • 3、extjs怎么将子窗口中选中的数据传入到父页面中
  • 4、ExtJs里页面初始化函数是什么?
  • 5、myeclipse7.5下如何创建extjs

添加单击事件就可以了

listeners : {

‘click’ : tree_itemclick

}

————————————-

function tree_itemclick (node, event) {

var tabId = “tab-” + node.id;

var tabTitle = node.text;

var tabLink = node.attributes.url;

//alert(tabLink);

currentPage = tabId;

var centerPanel = Ext.getCmp(“mainpanel”);

var tab = centerPanel.getComponent(tabId);

var subMainId = “tab-” + node.id + “-main”;

if (!node.isLeaf()){

// 为叶子节点时,点击进入链接

event.stopEvent();

return;

}

if (!tab) { //判断MainTabPanel中是否存在这个页面,如果不存在将创建一个

tab = centerPanel

.add(new Ext.Panel(

{

id : tabId,

title : tabTitle,

autoScroll : true,

iconCls : “tabIconCss”,

layout : “fit”, //填充布局,它不会让load进来的东西改变大小

border : false,

closable : true,

//closeAction : ‘hide’,

items : [ {

showMask : true,

maskMsg : ‘正在加载数据,请稍等…’,

scripts : true,

html : “iframe scrolling=’auto’ frameborder=’0′ width=’100%’ height=’100%’ src='”

+ tabLink + “‘ /iframe”

} ]

}));

}else {

centerpanel.setActiveTab(tab);

}

centerPanel.setActiveTab(tab); //将焦点指向我点击节点打开的页面

};

你直接说要先测试是因为win.getComponent(‘btn_save’)取不到控件是吧?

这是因为buttons里的控件挂靠到的不是win,而是toolbar里,也就是这个按钮的容器不是win而是toolbar

所以正确的取法应该是win.queryById(‘btn_save’)

var win = Ext.create(“Ext.window.Window”, {

title: “卡牌编辑”,

width: 360,

height: 340,

items: {

xtype: “form”,

margin: 5,

border: false,

     items: []

      },

buttons: [

{ text: “保存”,

itemId : ‘btn_save’ }

],

renderTo:Ext.getBody()

}

);

win.show();

Ext.defer(function(){

win.queryById(‘btn_save’).setDisabled(true);

},5000);

实际上extjs创建的窗体就是div框,只是浮动于其他元素的上层,他实际上和主页面(按钮所在页面)是在同一个页面,不存在父窗体和子窗体的关系

当然,如果你的窗体中有iframe框就另当别论了

做法是在 按钮所在页 定义一个全局变量,在窗体中的组件选择了数据后,把这些数据放到那个全局变量里边,然后在其他地方调用这个变量就行了

数据多的话,全局变量就定义成数组或对象

如果是iframe的话

现在父窗体定义一个全局变量

然在在子窗体数据选择后把值赋给父窗体的全局变量中

window.parent.param = 子窗体变量;

然后在父窗体的其他地方就可以使用 param 这个变量了

在extjs里面的对象都有一个创建时间的问题,你在onReady直接获取是不行的,必须要等到这个对象(即组件)创建完成之后(在ext中这个叫做render)才能取到,你可以在写onReady之前定义一个全局变量var node;然后在你的tree1的定义方法里加一个监听函数:afterRender:function(tree){

node=tree.getNodeById(‘0’);//将全局变量赋值

}

直接把需要用到的Extjs库文件放到你所建的WebRoot项目下,然后页面引用ext-all.css、ext-base.js、ext-all.js,基本的extjs就可以用了 每个版本的extjs需要导入的文件有所差异

原创文章,作者:MCWTV,如若转载,请注明出处:https://www.506064.com/n/126790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
MCWTV的头像MCWTV
上一篇 2024-10-03 23:12
下一篇 2024-10-03 23:13

相关推荐

  • python从a,python从api获取数据

    本文目录一览: 1、Python中a和a有什么区别 2、python socket连接可以从a线程传送到b线程吗 3、python 如何实现A命令一直执行,在BC命令执行完成后再中…

    编程 2024-10-04
  • php数据保存到数据库中,php获取表单数据保存到mysql中

    本文目录一览: 1、php怎么把数据导入数据库 2、PHP怎么将表格的数据保存到数据库 3、php如何将存有数据的文件导入数据库 4、PHP TP3.2怎样将表单数据保存到数据库中…

    编程 2024-12-09
  • 如何在php中回显或打印数组,php怎么打印数组

    本文目录一览: 1、2.php如何打印一个对象或数组到桌面上 2、php中怎么打印数组啊? 3、PHP怎样使用print_ r显示数组? 2.php如何打印一个对象或数组到桌面上 …

    编程 2024-12-09
  • Python数列求和

    一、数列求和的基本方法 数列求和是指对一组数求和的操作,可以用python语言实现。在python中,可以使用for循环或者while循环来遍历数列中的每个元素,并使用+=操作符进…

    编程 2024-11-05
  • c和mysql连接数据库(c与sql数据库连接)

    本文目录一览: 1、如何用c语言与mysql 连接 2、mysql与c语言连接,代码求解释。 3、如何用C语言连接MYSQL数据库 4、c语言怎么连接mysql数据库 5、c语言怎…

    编程 2024-10-03
  • java核心卷,java核心卷电子书

    本文目录一览: 1、《JAVA核心技术》基础知识这本书对于初学者好不好? 2、java核心技术卷多久更新 3、《Java核心技术卷II高级特性第9版》pdf下载在线阅读全文,求百度…

    编程 2024-11-07
  • Linux IP配置

    一、Linux配置IP 1、使用ifconfig命令查看当前网络配置,包括IP地址、网关、子网掩码等; $ ifconfig 2、使用ifconfig命令配置IP地址、子网掩码、广…

    编程 2024-10-24
  • 吞吐量测试详解

    一、吞吐量测试的要点 吞吐量是指在单位时间内通过系统的数据量。吞吐量测试的目的是为了检测系统在高负载、高并发情况下的数据处理能力。通过测试可以预知系统的性能和瓶颈,提前做好相关优化…

    编程 2024-10-04
  • php.ini配置时间,phpini设置

    本文目录一览: 1、如何在php.ini中修改时区 2、nginx怎么修改php.ini的时区 3、php怎么设置时间与系统时间一致? 如何在php.ini中修改时区 在php.i…

    编程 2024-12-04
  • CodingDevOps-构建高效的DevOps流水线

    一、什么是CodingDevOps CodingDevOps是一个包含多种工具和实践的理念,旨在创造高效、可靠和可拓展的软件开发生命周期(SDLC),并将运维(Ops)和开发(De…

    编程 2024-10-04

发表回复

登录后才能评论