我正在使用ExtJS4并寻找实现"转到顶部"功能的方法.
即在单击"顶部"按钮时,视图应滚动回到组件的顶部.我怎样才能在ExtJS中实现这一目标?
我正在使用Telerik控件形式MVC,它们在我的工作/家庭开发环境和工作环境中工作得很好,但是当我尝试部署到我的家庭产品环境(IIS7)时,我遇到了问题.
我添加了axd mime类型,但不确定还能做什么.我读了一篇建议添加处理程序的帖子,但不确定我是否设置错误或者我只是在寻找错误的指示.
如果你在IIS7上,请确保将处理程序添加到该<system.webServer><handlers>部分:
<add name="MyName" path="MyName.axd" verb="*" type="NameSpace.Class, Assembly" />
Run Code Online (Sandbox Code Playgroud)
我补充说: <add name="ScriptRegistrar" path="Access.axd" verb="*" type="Telerik.Web.Mvc.UI.ScriptRegistrar, Version=v2.0.50727" />
我有一个jsonStore绑定到gridpanel与分页工具栏和一些自定义过滤器.但每当我使用分页时,所有过滤器都会丢失.我怎么能保留它们?
这让我疯了.我有一个JS文件:
Ext.onReady(function(){
Ext.QuickTips.init();
var SitesStore = new Ext.data.JsonStore({
autoLoad: true,
fields: [{
name: 'id',
mapping: 'id'
}, {
name: 'name',
mapping: 'name'
}],
proxy: {
type: 'ajax',
url : '/sites/getsites.do'
},
storeId: 'SitesStore',
root: 'sites',
url: '/sites/getsites.do',
xtype: 'jsonstore'
});
SitesStore.load(function(data){
Ext.create('Ext.form.ComboBox', {
fieldLabel: 'Choose Site...',
store: SitesStore,
data: data[0].raw["sites"],
queryMode: 'remote',
displayField: 'name',
valueField: 'id',
renderTo: "timesheetSearch"
});
console.log(data[0].raw["sites"]);
});
}); //end onReady
Run Code Online (Sandbox Code Playgroud)
我以下列格式/sites/getsites.do返回JSON数据:
{
-sites: [
-{
id: "12345678"
name: "Blah Warehouse"
},
-{ …Run Code Online (Sandbox Code Playgroud) Ext.data.Storefind方法的文档说:
通过特定字段值查找此商店中第一个匹配记录的索引.
我的问题是如何在这个商店中找到所有匹配记录的索引?
我有这样的网格面板
Ext.define('sCon.view.SalesGrid',{
extend: 'Ext.grid.GridPanel',
title: 'Sales Data',
//other params
initComponent: function(){
this.callParent(arguments);
}
});
Run Code Online (Sandbox Code Playgroud)
在点击事件上,我想更改此面板的标题.我在控制器内的代码看起来像这样.
Ext.define('sCon.controller.SalesGridController', {
extend: 'Ext.app.Controller',
views: ['SalesGrid'],
// other handlers
changeTitle: function(newTitle){
this.getView('SalesGrid').setTitle('title_changed');
}
Run Code Online (Sandbox Code Playgroud)
目前它说它没有setTitle()的功能.但是文档说网格面板有setTitle()函数.我也尝试使用'title'变量更改标题
changeTitle: function(newTitle){
this.getView('SalesGrid').title = 'title_changed';
Run Code Online (Sandbox Code Playgroud)
既不起作用..请帮忙.
我有一个边框布局,让我们说两个区域; 中心和西部.西区添加了分离器参数并且是可折叠的.现在我有一个工具栏,我想隐藏/显示西部区域.我通过调用toggleTargetCmp()拆分器的方法解决了这个问题.嗯,我知道,这是一个私有方法,不应该使用,但我发现没有其他方法来存档.到现在为止还挺好.这一切都有效.
但是现在我想隐藏分割器和占位符(getCollapseTarget()如果单击工具栏中的按钮,则使用拆分器的方法获取占位符ownet ).我尝试使用setVisible(false)哪个适用于拆分器,但它对占位符不起作用...在深入查看占位符实例后,我可以告诉它已设置为hidden: true但是它使用hideMode: 'offsets'默认值加上hiddenAnchestor: false未记录的API.
基于hideMode的API文档,我尝试将它设置为'display'
在调用之前setVisible(false)没有任何运气,占位符仍然保持可见.
那么我怎么能隐藏这个平板电脑呢?或者甚至有更好的方法来归档这个?
是否可以在ExtJS 4.1.x中执行此过程?
var myMixedCollection = myStore.queryBy(...);
var anotherStore = Ext.create('Ext.data.Store', { data: myMixedCollection, ... });
var myGrid = Ext.create('Ext.grid.Panel', { store: anotherStore, ... });
Run Code Online (Sandbox Code Playgroud)
因为我的网格没有显示任何内容或仅显示一个空行
当我记录我的myMixedCollection所有数据都没有问题,但是当我anotherStore用Firebug 打开我时,我可以看到我的数据存储中只有一个空行.
我在使用ExtJS 4.0.7 TreePanel时遇到了麻烦.我想从JSON请求加载完整的树.请求返回以下内容:
{
"data": {
"children": [
{
"text": "OS",
"leaf": false,
"children": [
{
"text": "Hostname",
"leaf": false,
"children": [
{
"text": "hostname.int.com",
"leaf": true,
"children": []
}
]
}
]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
使用它不适用于以下商店配置(或任何其他我尝试过)
Ext.define('My.store.SysInfo', {
extend: 'Ext.data.TreeStore',
model: 'My.model.SysInfo',
proxy : {
type : 'ajax',
url : '/sysinfo/getSysInfo.php',
reader : {
root : 'data'
}
}
});
Run Code Online (Sandbox Code Playgroud)
该模型具有以下代码:
Ext.define('My.model.SysInfo', {
extend: 'Ext.data.Model',
fields: ['text']
});
Run Code Online (Sandbox Code Playgroud)
使用此配置添加treepanel时,它不起作用:
{
xtype: 'treepanel',
name : 'sysinfo',
height: '100%',
store: …Run Code Online (Sandbox Code Playgroud) 我正在使用animateTarget来动画显示和隐藏窗口.但是我似乎无法为此设置任何动画选项,如持续时间和缓和.
在这个特定用例中,仅设置持续时间和缓和对我来说就足够了.
我正在使用ExtJS 4.1
日Thnx!