ExtJS列表数据视图

时间:2011-02-10 14:21:11

标签: javascript json extjs

左边我有一个包含所有名字的列表。我选择一个名称并单击“添加”按钮(到右侧列表)。此外,我想从右侧列表中“删除”项目,返回左侧列表。

有人举个例子吗?

5 个答案:

答案 0 :(得分:3)

$('#buttonid').click(function(){
var selecteditem = $('#listID option:selected').html();
$('#targetListId').append(selecteditem );
}
第二个问题的副总裁。

答案 1 :(得分:1)

答案 2 :(得分:0)

this你追求的是什么?

答案 3 :(得分:0)

我没有示例方便,但是如果你看http://dev.sencha.com/deploy/dev/examples/grid/array-grid.html你可以看到网格示例,专注于tpl来生成动作(卖,买)图像/按钮,在listView中你也可以使用tpl,改变动作删除(如果想恢复,可能只会灰显)......

但是在EditGridPanel中添加动作应该更容易,如果你还想使用listView我会建议在顶部或底部工具栏上有广告按钮,执行formPanel进行数据输入,当提交时只需添加到listView.store

如果需要添加和删除操作,请不要忘记与DB建立通信

答案 4 :(得分:0)

这真的非常简单。

抓住所选记录,从左侧列表中删除,然后添加到右侧列表中:

var left = // define your GridPanel or ListView
var right = // define your GridPanel or ListView

new Ext.Button({
  text: "Move right ->",
  handler: function() {
    // when using GridPanel
    var records = left.getSelectionModel().getSelections();
    // when using ListView
    var records = left.getSelectedRecords();

    left.getStore().remove(records);
    right.getStore().add(records);
  }
});

我确定你可以弄清楚如何实施"向左移动"按钮。

注意:在添加到另一个商店之前,始终首先从一个商店中删除记录,因为ExtJS目前不支持在多个商店中拥有一条记录。如果你反过来这样做,就会发生奇怪的事情。