我在OnDemandGrid(dojo 1.12.1)中选择了一个问题,我需要一些帮助。 我的网格的一部分隐藏在创作中,这使得选择单个'工作很奇怪,选择仅在内容的可见部分有效。当我滚动时,我的行[{3}}上没有更多的突出显示。 但是,如果我对列应用排序,则会刷新内容并使整行变为可选。
此页面上的示例适用于selectionMode中的EnhancedGrid:' single'加载后内容的隐藏部分没有错误。 img1,任何想法如何实现它?
创建OnDemandGrid以解决问题时,我该怎么办?我试过把一个css参数框大小调整:border-box,但它没有帮助我。
enchancedgrid有一些类似的问题,但是对我来说这个问题并不好,也许是因为我使用了OnDemandGrid( dojo EnchancedGrid项目不以编程方式在视图的不可见部分中选择)
require([
...
'dojo/store/Memory',
'dgrid/OnDemandGrid',
'dgrid/Selection',
'dgrid/extensions/ColumnResizer',
'dgrid/extensions/DijitRegistry'
], function (Memory, OnDemandGrid, Selection, ColumnResizer, DijitRegistry ) {
var columNs = {First_Name: {label: 'First Name'},
Last_Name: {label: 'Last Name'},
hello: {label: 'hello'},
age: {label: 'age'},
size: {label: 'size'},
name: {label: 'name'},
code: {label: 'code'},
id: {label: 'id'},
mdp: {label: 'mdp'},
username: {label: 'username'},
grid: {label: 'grid'}
};
var store = new Memory({ data: createData() });
var CustomGrid = declare([OnDemandGrid, Selection, ColumnResizer, DijitRegistry]);
var grid = new CustomGrid({
selectionMode: 'single',
cellNavigation: false,
store: store,
columns: columNs
}, 'grid');
grid.startup();
function createData() {
var data = [];
var column;
var i;
var item;
for (i = 0; i < 50; i++) {
item = {};
for (column in { First_Name: 1, Last_Name: 1, hello: 1, age: 1, size: 1, name: 1, code: 1, id: 1, mdp: 1, username: 1, grid: 1 }) {
item.id = i;
item[column] = column + '_' + (i + 1);
}
data.push(item);
}
return data;
}
});
//css
.dgrid {
height: 25em !important;
width: 100%;
}
.dgrid .dgrid-scroller {
margin-top: 24px !important;
}
.dgrid-cell {
width: 70px !important;
}
.dgrid-column-set-scroller {
display: inline-block;
overflow-x: auto;
overflow-y: hidden;
}
答案 0 :(得分:0)
我无法重现你的问题。请参阅小提琴here。
有一点不同之处在于我更换了dojo / store / Memory,它给了我一个错误(如果你没有得到这个错误,也许你正在使用dgrid版本,那么早于0.4?),还有dstore / Memory。
然后小提琴正在使用dojo 1.12.2(应该与1.12.1没有区别)和dgrid / dstore 1.1.0(如果您使用的是较旧的版本,则可以解释差异)。它还使用了dijit的claro.css&amp; dgrid的dgrid.css。请参阅下面的内容(从jsfiddle中提取)我修改过的源代码部分:
var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext);
var link = urlHelper.Action("Details", "Cases", new { id = caseNumber });