(ExtJS 3.3.1)
在调用grid.store.reload()之后,如何保存网格的滚动位置?
出于某种原因,ExtJS4网格的这种配置不会更新.当您单击一个单元格,更改一个值时,它会命中创建URL,而不是代理中定义的更新URL,并在FF4中使用Firebug进行观察.奇怪的是,datachanged事件在页面启动时加载存储后触发,但在数据实际更改后不会触发.此外,网格将所有行发送到创建URL.
谁能告诉我我做错了什么?
Ext.onReady(function() {
Ext.BLANK_IMAGE_URL = '/images/extjs4/s.gif';
Ext.tip.QuickTipManager.init();
//Ext.state.Manager.setProvider(Ext.create('Ext.state.CookieProvider'));
Ext.define('VendorError', {
extend: 'Ext.data.Model',
fields: [
{name: 'UnexpSrvID', type: 'int'},
{name: 'VendorID', type: 'int'},
{name: 'VendorName', type: 'string'},
{name: 'VndActID', type: 'int'},
{name: 'VndActNb', type: 'string'},
{name: 'InvoiceID', type: 'int'},
{name: 'VInvNb', type: 'string'},
{name: 'VInvRcptDt', type: 'date', dateFormat: 'Y-m-d' },
{name: 'InvDate', type: 'date', dateFormat: 'Y-m-d' },
{name: 'CodeSpecifier', type: 'string'},
{name: 'Recurrence', type: 'string'},
{name: 'ClientID', type: 'int'},
{name: 'ClientName', type: 'string'},
{name: 'LocID', type: 'int'},
{name: 'LocName', type: …Run Code Online (Sandbox Code Playgroud) 我在Excel中编写了使用动态数组的宏.用户将向该数组添加元素.
是否可以永久存储元素,因此即使在工作簿关闭后元素也可用?
诀窍是我不想在工作表上存储元素并在工作簿打开时将它们插回到数组,而是将元素永久保存在数组中.
HttpSession 是建立在cookie和url重写之上的高级界面,这意味着只有一个会话ID存储在客户端,与之关联的数据存储在服务器端。
哪里是HttpSession数据实际存储在服务器端?在JVM内存中还是其他地方?我可以更改存储位置,例如将其保存到内存数据库中吗?
如果它不在数据库中,那么当许多客户端同时处理同一会话数据时,是否存在并发问题?
我很沮丧,因为每当我使用它来支持组合时我的商店都会被过滤掉.有什么方法可以禁用它吗?
情景
我有一个带有data字段的商店; 实例化存储时加载的对象数组.我使用这个商店在我的应用程序的不同区域驱动一堆组合.不幸的是,我的组合在商店中应用过滤器,导致使用同一商店的其他组合仅在稍后显示过滤后的值,而不是整个列表.
解决方法
我的愚蠢的解决方法是combo.getStore().clearFilter()在我完成组合后打电话,但这会很快变老,并且可能会在某处引入一个错误,我敢肯定.
如果我queryMode:'local'从我的组合配置中删除,一切都很好,除了现在方便的预先输入功能不再有效; 我只是在下拉列表中显示了一个项目列表,我甚至无法浏览匹配项目的输入字母.这比普通的html select标签更糟糕!
有任何想法吗?
谢谢!
当我尝试启动ExtJS 4.2应用程序时出现此错误:
Uncaught TypeError: Cannot read property 'buffered' of undefined
我已经仔细检查了所有的storeID和名称,以确保它们拼写正确,但我仍然有这个问题:(.还有什么我可以尝试解决这个错误吗?
提前致谢.
我想在SharedPreferences中备份一个值,以便我可以在重新安装后读出这个值.
我的代码不起作用,我不知道错误是什么.
MyBackupAgent
package com.app.appname;
import android.app.backup.BackupAgentHelper;
import android.app.backup.BackupManager;
import android.app.backup.SharedPreferencesBackupHelper;
import android.content.Context;
public class MyBackupAgent extends BackupAgentHelper{
static final String PREFS_DISPLAY = "AppName";
private Context context;
static final String MY_PREFS_BACKUP_KEY = "keyToStore";
public MyBackupAgent(Context context){
this.context = context;
SharedPreferencesBackupHelper helper =
new SharedPreferencesBackupHelper(context, PREFS_DISPLAY);
addHelper(MY_PREFS_BACKUP_KEY, helper);
}
public void storeData(){
BackupManager backupManager = new BackupManager(context);
backupManager.dataChanged();
}
}
Run Code Online (Sandbox Code Playgroud)
我如何存储数据:
...
SharedPreferences settings = getSharedPreferences("AppName", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("keyToStore", true);
editor.commit();
new MyBackupAgent(this).storeData();
...
Run Code Online (Sandbox Code Playgroud)
我如何收到数据:
...
SharedPreferences settings …Run Code Online (Sandbox Code Playgroud) 我想在ExtJS应用程序中同时具有不同存储的相同视图的不同实例.目前,我在视口中停止了同一视图的多个实例(Ext.view.View).
但是,在每个视图中拥有不同商店的最佳做法是什么?我找到的每个示例都在使用控制器的stores-Config创建的视图中使用Store-ID.但是这会为每个视图使用相同的商店.
目前我想出了以下可能的解决方案:
这些解决方案中的任何一种都是最佳实践,还是应该以不同方式完成
我创建了一个dijit树和一个文本框,我想根据文本框中提供的关键字过滤树节点.我实现了另一个问题中提供的解决方案,但它似乎不起作用.当用户在文本框中输入某个单词时,将使用相同的数据重新填充树.
以下是我的代码:
require(["dijit/form/TextBox","dojo/store/Memory","dijit/tree/ObjectStoreModel","dijit/Tree","dojo/domReady!"], function(TextBox, MemoryStore, ObjectStoreModel, Tree) {
var searchBox = new TextBox({
placeHolder: "[ Type here to search ]"
}, "searchBox");
searchBox.on("blur", function() {
tree.model.store.query({
name: "*" + searchBox.value + "*"
});
/*the below approach has been taken from the other question*/
tree.model.store.clearOnClose = true;
/*tree.model.store.close(); //This is not working?*/
delete tree._itemNodesMap;
tree._itemNodesMap = {};
tree.rootNode.state = "UNCHECKED";
delete tree.model.root.children;
tree.model.root.children = null;
tree.rootNode.destroyRecursive();
tree.model.constructor(tree.model)
tree.postMixInProperties();
tree._load();
});
var store = new MemoryStore({
idProperty: "id",
getChildren: function(object) { …Run Code Online (Sandbox Code Playgroud) 我的Vuex店进行了automatically updated 不调用任何getters或committing任何mutation于眼前router change。
在保存表单之前,我不会提交对VUEX的更改,因此这意味着将数据绑定到VUEX的两种方式。我觉得这是不可能的。在这种情况下,这是不希望的,因为如果用户更改了一些数据,然后在没有实际单击“保存”的情况下导航离开,则数据仍然是VUEX