我有Form面板,它用字段来保存表单.
现在点击按钮,我打开窗口,然后像这样在窗口中添加表单作为项目
win = new Ext.Window({
title: 'Add',
layout: 'fit',
autoScroll: true,
y: 120,
width: 600,
height: 600,
modal: true,
closeAction: 'hide',
items: [formpanel]
});
win.show();
Run Code Online (Sandbox Code Playgroud)
现在,这显示了两个窗口,一个显示主窗口标题Add
和边框,然后是另一个带有标题和边框的formpanel框架.
是否有任何方式使窗口只能形成标题和边框,而不是窗口标题和边框和背景
它就像只显示formPanle作为弹出窗口,而不是窗口内的formpanel
我有一个像http://jsfiddle.net/bmbMy/的树面板 我尝试使用css更改默认图标(节点和叶子).但那不起作用.
.x-grid-row .x-grid-tree-node-expanded {
background: url('http://icons.iconarchive.com/icons/sekkyumu/developpers/16/Play-Green-Button-icon.png') no-repeat center center !important;
}
.x-grid-row .x-grid-tree-node-leaf {
background-image:url('http://icons.iconarchive.com/icons/graphicrating/koloria/16/Button-Play-Pause-icon.png');
}
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做谢谢
我定义了一个treepanel
扩展extend: 'Ext.tree.Panel'
,它具有initComponent函数
Ext.define('Example', {
extend: 'Ext.tree.Panel',
title: 'Example',
useArrows:false,
rootVisible: false,
border: false,
initComponent: function () {
var store = Ext.create('Ext.data.TreeStore', {
fields: [
{name: 'id', type: 'string'},
{name: 'text', type: 'string'}
],
autoLoad : false, // not working
proxy: {
type: 'ajax',
url: 'data.php',
reader: {
type: 'json',
root: 'results'
}
}
});
this.store = store;
this.callParent(arguments);
}
});
Run Code Online (Sandbox Code Playgroud)
我尝试设置autoLoad: false
但是当我创建我的时候总是加载treepanel
当我尝试配置下面的代码存储然后autoLoad: false
工作但我的treepanel
后加载是空白
root: {
text: 'Ext JS', …
Run Code Online (Sandbox Code Playgroud) 只要store(Ext.data.Store
)从服务器读取数据,它就会像&page=1&start=0&limit=25
在json
代理中或[page:1, start:0, limit:25]
使用direct
代理一样发送分页参数.
我想在商店或代理配置中禁用分页.
我找到了这个解决方法,但我确信必须有一个更好的方法.
proxy: {
pageParam: undefined,
startParam: undefined,
limitParam: undefined,
...
}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何正确禁用分页?
我有一个链接到商店的网格autoLoad: true
.问题是商店在应用程序启动时加载,即使稍后在通过菜单访问时创建视图也是如此.
我在Application.js和视图中引用了商店,但我没有明确地对商店和视图进行实例化.
我不知道如何实现只在视图需要时才加载存储.
autoLoad: true
,商店将在应用程序启动时加载.autoLoad: false
,商店根本没有加载.我知道这是非常基本的,但我到目前为止都陷入困境.
以下是所有相关的参考代码:
app/store/Owners.js
Ext.define('Mb.store.Owners', {
extend: 'Ext.data.Store',
model: 'Mb.model.Owner',
autoLoad: true,
proxy: {
...
});
Run Code Online (Sandbox Code Playgroud)
的application.js
Ext.define('Mb.Application', {
name: 'Mb',
extend: 'Ext.app.Application',
models: [
'Owner'
],
stores: [
'Owners'
],
...
Run Code Online (Sandbox Code Playgroud)
应用程序/视图/ Owners.js
Ext.define('Mb.view.winbiz.Owners', {
extend: 'Ext.grid.Panel',
alias: 'widget.test-gridPanel',
store: 'winbiz.Owners',
columns: [{
...
Run Code Online (Sandbox Code Playgroud)
视图在控制器中实例化:
Ext.define('Mb.controller.Winbiz', {
extend: 'Ext.app.Controller',
views: [
'Owners'
],
init: function(){
this.control({
'menu #test': {click: this.onMenuTest},
})
},
onMenuTest: function(){
this.getController('Main').addToMainTab('test-gridPanel');
},
Run Code Online (Sandbox Code Playgroud) 我有一Ext.grid.Panel
组列.此网格已过滤,根据过滤器,我想为列定义编辑器.
我的网格:
Ext.define('Mb.view.MyPanel', {
extend: 'Ext.grid.Panel',
columns: [
{text: 'Order #', dataIndex: 'id'},
{text: 'Action', dataIndex: 'type',
renderer: function(value){
if(value == 'BP') return Lang._('Veuillez choisir')
return ''
}
},
Run Code Online (Sandbox Code Playgroud)
现在我想做一些事情:
var panel = Mb.app.getView('MyPanel');
if (condition == true) {
panel.getColumns[1].setEditor({
xtype: 'textfield',
...
})
}
Run Code Online (Sandbox Code Playgroud)
显然,方法getColumns
和setEditor
不存在.因此,我需要另一种方法来激活该列上的编辑器.
我没有找到一种方法来访问列定义来修改它们并在之后重新呈现网格.
你能给我一个关于搜索方向的提示吗?谢谢.
当我尝试在IE11中使用Ext.isIE时,我得到错误的返回值.然后在调试我的代码时,我看到我收到以下错误:JavaScript错误 - 消息:无效的参数.,我的extjs的版本是:4,2
在ExtJs中,有许多选项可以过滤网格.文档中有两个很好的例子,比如这个问题中提到的.
但是,隐藏在默认下拉菜单中的过滤器Ext.ux.grid.FiltersFeature
看起来对我来说真的很尴尬.一个良好的人体工程学选择将在列标题中创建搜索字段,如@Ctacus在他的问题中显示.
怎么能实现这一目标?
我已经设法实现了一个treepanel,一切似乎都在工作.我有这样的数据(见下文).我的字段我"命名",其中包含"ItemA","ProductA"之类的节点和"Iron",它是一个叶子和一个名为"Available"的属性,它是真/假(布尔但表示为字符串) .
单击布尔值的排序列时,它会对它们进行排序,但整体排序.即我只想对每组中的布尔值进行排序.目前它将它们分类为一组项目.所以ItemB下的节点改变顺序,而不仅仅是布尔列的顺序.我希望这是有道理的.
我将列模型设置为此
sortType: Ext.data.SortTypes.asUCString
Run Code Online (Sandbox Code Playgroud)
我也尝试在treepanel中更改true和false之间的"folderSort"属性,但它没有任何区别.
有任何想法吗?
这是我的数据示例,可以更好地将其可视化.
ItemA
ProductA
Iron true
ItemB
Product123
House true
Garage false
Misc false
Product1443
HouseF true
NewItem false
Run Code Online (Sandbox Code Playgroud) 我有一个包含大量记录的网格.我根据需要使用过滤器来过滤数据.但我想将过滤后的数据导出到Excel工作表以供进一步使用.
我浏览了一些可用的文章,但它们看起来不同,与最新的4.2版本不兼容.
请以简单的方式帮助我实现这一目标.
非常感谢!
extjs ×10
extjs4.2 ×10
extjs4 ×4
extjs4.1 ×2
javascript ×2
extjs-grid ×1
extjs-stores ×1
filter ×1
grid ×1
pagination ×1
tree ×1