我已经习惯了ExtJS 3.X,但我正在努力使用ExtJS 4.
我想创建一个网格的扩展,并能够使用xtype的网格实例.我知道,我必须设置别名,widget.xtypename但它不适合我.
var MyGrid = Ext.define('mygrid', {
extend:'Ext.grid.Panel',
alias: 'widget.mygrid',
// rest of grid...
});
Ext.create('Ext.window.Window', {
title:'My Window',
items:[{
xtype:'mygrid'
}]
})
Run Code Online (Sandbox Code Playgroud)
我在Chrome控制台中遇到的错误是 Cannot create an instance of unrecognized alias: widget.mygrid
一些帮助会很有意义
我创建了一个Ext.ux.form.field.DateTime插件,但这里有一些问题:

Ext.define('Ext.ux.form.field.DateTime', {
extend:'Ext.form.FieldContainer',
mixins: {
field: 'Ext.form.field.Field'
},
alias: 'widget.datetimefield',
layout: 'hbox',
width: 200,
height: 22,
combineErrors: true,
msgTarget :'side',
dateCfg:{},
timeCfg:{},
initComponent: function() {
var me = this;
me.buildField();
me.callParent();
this.dateField = this.down('datefield')
this.timeField = this.down('timefield')
me.initField();
},
//@private
buildField: function(){
this.items = [
Ext.apply({
xtype: 'datefield',
format: 'Y-m-d',
width: 100
},this.dateCfg),
Ext.apply({
xtype: 'timefield',
format: 'H:i',
width: 80
},this.timeCfg)
]
},
getValue: function() {
var value,date = this.dateField.getSubmitValue(),time = this.timeField.getSubmitValue();
if(date){
if(time){
var format = …Run Code Online (Sandbox Code Playgroud) 我一直在使用ExtJS网格行编辑插件,对于Web应用程序中的CRUD操作非常自由.现在,我需要允许使用此行编辑插件编辑数据库记录以及相关的集合/数组(来自其他数据存储区).
为此,我想在已选择进行编辑的行中插入拖放网格,一个网格显示左侧的可用(未使用)集合项,另一个网格用于保存右侧定义的集合项.
为了说明我想要做的事情,这里是正常的行编辑插件,其中选择了一行进行编辑:

我试图这样做(行编辑器div内的拖放网格):

要做到这一点,我一直试图简单地运行类似的东西,Ext.getCmp(???).add(myDnDGridPanel);但我没有找到正确的东西将其附加到(问题中放入什么).
使用此插件编辑相关的集合/数组以及数据库记录似乎是合理的.有没有人知道向这个行编辑器div添加项目的简单方法?
或者......我是否必须破解/扩展插件才能实现此目的?
来自这样的典型商店
Ext.define('User', {
extend: 'Ext.data.Model',
fields: [
{name: 'firstName', type: 'string'},
{name: 'lastName', type: 'string'},
{name: 'age', type: 'int'},
{name: 'eyeColor', type: 'string'}
]
});
var myStore = Ext.create('Ext.data.Store', {
model: 'User',
proxy: {
type: 'ajax',
url : '/users.json',
reader: {
type: 'json',
root: 'users'
}
},
autoLoad: true
});
Run Code Online (Sandbox Code Playgroud)
是否可以从myStore获取原始Json?
我有一个ExtJS应用程序,它使用一些查询字符串参数调用.我想知道如何使用ExtJS 4读取这些参数及其值.
我的ExtJS应用程序URL将如下所示:
http://localhost:8080/myapp?candidate_id=101&candidate_id=102&candidate_id=103
Run Code Online (Sandbox Code Playgroud) 如何设置Panel的"标题栏"中使用的图标?也许我需要自己添加一个图像,但如果是这样,我想我需要在某处定义或配置?
{
xtype: 'treepanel',
title: 'Projects',
width: 200,
store: Ext.data.StoreManager.lookup('projects'),
tools: [
{
type: 'add', // this doesn't appear to work, probably I need to use a valid class
tooltip: 'Add project',
handler: function() {
console.log('TODO: Add project');
}
},
...
]
},
Run Code Online (Sandbox Code Playgroud) 我有一个字符串构建形式逗号分隔值我split用来获取每个值,然后我想在新行上显示每个值,但真正发生的是我得到的每一个值都在新行上,除了显示的最后两个在同一条线上.只是为了说清楚:
值1
,值2
,值3
,值4,值5
这是我正在使用的功能:
_checkDates: function(dates) {
if (dates != null)
{
var zzz = dates.split(',');
var xxx = zzz.length;
console.log(xxx);
for (var i=0; i<=xxx; i++)
{
zzz[i] = zzz[i] + '<br />';
return zzz;
}
}
return dates;
}
Run Code Online (Sandbox Code Playgroud)
为了清楚这是用ExtJS 4编写的,我几乎可以肯定,在这种情况下,问题是纯JavaScript并且与ExtJS 4无关,但无论如何,也许我错了.
所以任何想法为什么会发生,以及我如何能够让最后的元素进入新线?
谢谢
Leron
如何在工具栏中左,中,右三个区域?我知道我可以使用->触发所有后续物品的右对齐容器,但中心呢?
我正在使用ExtJS 4.0,我想在网格中显示嵌套的JSON数据.为此,我使用Ext.data.reader.Reader文档"加载嵌套数据"中给出的示例.它既简单又简单但现在我想在网格中显示这些数据.我该怎么设置dataIndex?
这是我的样本模型和商店:
Ext.define("data", {
extend: 'Ext.data.Model',
fields: ['year', 'state'],
hasMany: {
model: 'record',
name: 'record'
},
proxy: {
type: 'rest',
url: 'Column.json.php',
reader: {
type: 'json',
root: 'data'
}
}
});
Ext.define("record", {
extend: 'Ext.data.Model',
fields: ['id', 'autorization', 'expendture'],
belongsTo: 'User'
});
var store1 = new Ext.data.Store({
model: "data"
});
Run Code Online (Sandbox Code Playgroud)
而我的JSON:
{
"data": [{
"year": "2010",
"state": "MP",
"record": [{
"id": "auth",
"autorization": "9.201"
}, {
"id": "exp",
"expendture": "1.250"
}]
}]
}
Run Code Online (Sandbox Code Playgroud)
我想阅读 …
我想将ExtJS4用于我的下一个项目.但是,我是Ext的新手,也不是那些精通Javascript精细点的人.
有几本关于ExtJS3的好书.我应该首先从那些旧书中学习,然后将这些知识应用到v4中,或者API的变化是如此之大以至于没有必要先学习旧的书?
如果没有,那么学习Ext新手的最佳方法是什么?
extjs4 ×10
extjs ×6
javascript ×2
extjs-mvc ×1
extjs4.1 ×1
grid ×1
json ×1
nested ×1
query-string ×1