Javascript 不显示带有锁定列的网格
我试图在web应用程序中插入带有锁定列的数据网格 如果我在没有锁定列的情况下显示栅格,则一切正常。当我锁定一个列时,会创建网格,但它非常小(只是一个很小的正方形,使它基本上不可见) 为什么会发生这种情况?我如何修复它 以下是我所拥有的:Javascript 不显示带有锁定列的网格,javascript,extjs,extjs4.1,Javascript,Extjs,Extjs4.1,我试图在web应用程序中插入带有锁定列的数据网格 如果我在没有锁定列的情况下显示栅格,则一切正常。当我锁定一个列时,会创建网格,但它非常小(只是一个很小的正方形,使它基本上不可见) 为什么会发生这种情况?我如何修复它 以下是我所拥有的: for (var i = 0; i < this.fields.length; i++) { var currentField = this.fields[i]; fields.push(currentField.columnName);
for (var i = 0; i < this.fields.length; i++) {
var currentField = this.fields[i];
fields.push(currentField.columnName);
columns.push({
header: currentField.name,
dataIndex: currentField.columnName,
hidden: i >= 4,
locked: i == 1
});
}
Ext.create('Ext.data.Store', {
storeId: 'resultsStore',
fields: fields,
data: results
});
var grid = Ext.create('Ext.grid.Panel', {
store: "resultsStore",
columns: columns,
title: 'Results',
renderTo: "actualResultsContainer",
height: 250,
width: 500,
enableLocking: true,
});
for(var i=0;i=4,
锁定:i==1
});
}
Ext.create('Ext.data.Store'{
storeId:'resultsStore',
字段:字段,
数据:结果
});
var grid=Ext.create('Ext.grid.Panel'{
存储:“结果存储”,
列:列,
标题:“结果”,
renderTo:“实际结果容器”,
身高:250,
宽度:500,
enableLocking:true,
});
编辑如果我尝试重新创建所有内容(渲染后从上面重复所有操作),网格将被创建,从现在开始,它将正常运行。我遗漏了什么?它应该像你写的那样工作。检查是否及时创建了要渲染网格的
div
。如果创建存储并将其作为变量保存,会发生什么。。。var store=Ext.create('Ext.data.store',{…var grid=Ext.create('Ext.grid.Panel'),{store:store,然后删除enableLocking?网格显示了吗?有错误吗?两件事:enableLocking
如果列定义中有locked:true
,则不需要指定。我不确定-但我认为您只能锁定第一列,看起来您正在尝试锁定第二列,不是吗?@JohnMoses我尝试了你所说的,但没有发生任何事情。仍然是相同的问题。@sha我删除了启用锁定
,列数与此无关。如果列被锁定
,它将被移到左侧。为了确保这一点,我尝试将第一列锁定
,但是sue坚持。我会尝试简化事情-将列声明移动到网格声明中。不要使用循环和其他对象-只需手动定义列。我仍然觉得奇怪,只有在锁定列时,它才真正找到div。如果是这种情况,那么即使没有锁定列,问题也应该发生专栏(我希望我的解释足够清楚:D)。无论如何,它现在似乎是固定的,虽然这可能不是一个好主意,我将保持它的原样。