gpt4 book ai didi

select - 道场 dgrid : (Pre) Select row on render

转载 作者:行者123 更新时间:2023-12-04 18:06:22 27 4
gpt4 key购买 nike

如何配置 dgrid 及其存储来定义在呈现行时是否已选择该行?

比如我的行数据是这样的:

{
id: 1,
name: 'Item Name',
selected: true
}

我当前的代码是在商店被填充后循环遍历集合,但我确信必须有更有效的方法来执行此操作。

var items = [
{id: 1, name: 'Item 1', selected: true},
{id: 2, name: 'Item 2', selected: false}
];

require(
[
"dgrid/OnDemandGrid",
"dgrid/Selection",
"dojo/store/Memory",
"dojo/_base/declare",
"dojo/_base/array"
],

function (OnDemandGrid, Selection, Memory, declare, array) {
var store = new Memory({
data: items,
idProperty: "id"
});

var grid = new declare([OnDemandGrid, Selection])({
selectionMode: "multiple",
columns: {
id: { label: "ID" },
name: { label: "Name" }
},
store: store
}, "MyGrid");

array.forEach(items, function (item) {
if (item.selected) {
grid.select(grid.row(item.id));
}
});

grid.startup();
});
}
);

最佳答案

我找到了这篇文章并想解决这个问题。我想获取 dgrid 中的第一行数据,这是我找到这篇文章的地方。但它对我的解决方案有帮助。

在第一列中,我添加了一个“get”函数,并且能够找到并选择第一条记录。我希望这可以帮助任何试图获取或选择 dgrid 中的第一条记录的人。

var columns = [
{ label: "Name", field: '_item', x: null,
formatter: lang.hitch(this, this._nameFormatter),
get: lang.hitch(this, function(item){
console.log(item)
if(!this.x) {
this.x = item.id;
this.grid.select(item.id);
this.detailsPane.setDetails(item.id);
return item;
} else {
return item;
}
})
},

{ label: 'Email', field: 'email',
formatter: lang.hitch(this, this._emailFormatter)
},

{ label: "Phone", field: "phone" },
{ label: 'Address', field: 'address' },
{ label: 'City', field: 'city' },
{ label: 'State', field: 'state' },
{ label: 'Zip Code', field: 'zipcode'}
];

关于select - 道场 dgrid : (Pre) Select row on render,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14757504/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com