gpt4 book ai didi

javascript - 如何使用对话框使 fuelux 数据网格(由主干集合生成)的每一行都可编辑

转载 作者:行者123 更新时间:2023-11-30 18:05:55 25 4
gpt4 key购买 nike

新的 StaticDataSource 将为 fuelux 网格构建数据源。格式化程序将设置属性以在数据网格单元格中生成可编辑按钮。代码如下:

 app.PlayersView = Backbone.View.extend({
template: _.template( $("#players-template").html() ),
events: {
"click #addUser" : "addUser",
},
initialize: function () {
if(this.collection){
this.collection.fetch();
}
this.listenTo(this.collection, 'all', this.render);
},
render: function () {
this.$el.html( this.template );
var dataSource = new StaticDataSource({
columns: [
{
property: 'username',
label: 'Username',
sortable: true
},
{
property: 'group',
label: 'Groups',
sortable: true
},
{
property: 'edit',
label: 'Edit',
sortable: true
}
],
formatter: function (items) {
$.each(items, function (index, item) {
item.edit = '<div class="btn-group"><a id="editGroup" class="btn">Edit</a></div>';
});
},
data: this.collection.toJSON(),
delay: 250
});
$('#MyGrid').datagrid({
dataSource: dataSource,
stretchHeight: true
});
});

app.Playerview 对象是在 bakcbone 路由器的某处创建的,如下所示:

       new app.PlayersView({
collection : new app.UsersCollection
}));

这里,列是用户名、组和编辑。每行的编辑列包含编辑按钮。当我单击任何行中的编辑按钮时,我想将特定的行模式或行数据传递给任何其他主干 View 。我们怎样才能做到这一点?

实际上,我将打开允许编辑该特定行的对话框。我希望模态由该行值预填充。

提前致谢

最佳答案

从 Backbone 的 Angular 来看,您对网格没有任何控制权。所以基本上,目前,您的行不代表任何模型。
按照现在的情况,如果您只想预填充您的模式,我想您可以使用 jQuery 轻松完成。
但是,我假设您还希望同时更改您的模型。我不了解 Fuel UX,所以我不确切地知道你该怎么做但是(但我仍然很确定你可以,如果你想更新你的模型,应该这样做):等到网格创建好,通过创建一个 View 将您的模型绑定(bind)到网格,其中每个元素将成为行,并在此 View 内收听按钮上的点击。在这里您可以直接访问您的模型,因此也可以直接访问您的数据。

如果您发布更多代码(例如模型的定义)和网格的 HTML(或简化版本,我确信它充满了自定义类等等),我可以提供帮助你希望如此。

关于javascript - 如何使用对话框使 fuelux 数据网格(由主干集合生成)的每一行都可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15811171/

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