2011-02-10 7 views
1

Слева у меня есть список со всеми именами. Я выбираю одно имя и нажимаю кнопку «добавить» (в правый список). Также я хочу «удалить» элементы из списка справа, влево.ExtJS List Data View

Кто-нибудь пример?

+0

Должно быть сделано ExtJS – lander

+0

Поскольку вы передумали в системе JS, вы должны сообщить об этом в своем вопросе. – FallenAngel

ответ

3
$('#buttonid').click(function(){ 
var selecteditem = $('#listID option:selected').html(); 
$('#targetListId').append(selecteditem); 
} 

заместитель для второго вопроса.

+0

Спасибо, но это должно быть сделано в ExtJS (просто решил) – lander

+1

+1 за попытку ответить на неполный вопрос. – ajcw

0

this что вы после?

+0

Один вопрос, это работает с extjs версии 3.3.1 ?? Это, по-видимому, проблема? – lander

+0

Я обновил ссылку на новейшую версию (ExtJS 2.0). Не уверен, совместимо ли это с 3.0. –

+1

ExtJS действительно прекрасно документирован. Раньше я думал, что это не так: p. Кажется, проблема с новыми пользователями, и ExtJS находит эту замечательную документацию. http://dev.sencha.com/deploy/dev/examples/ http://examples.extjs.eu/ http://www.sencha.com/learn/Tutorials – elshae

0

У меня нет примера с удобством, однако, если вы посмотрите на http://dev.sencha.com/deploy/dev/examples/grid/array-grid.html, вы можете увидеть пример сетки, сосредоточиться на tpl для создания действий (продавать, покупать) изображения/кнопки, в listView вы также можете использовать tpl, изменить действия для удаления (возможно, только серый, если хотите восстановить) ...

Но добавьте в EditGridPanel действие должно быть проще. Если вы хотите использовать listView, я предлагаю создать кнопку объявления на верхней или нижней панели инструментов, выполнить formPanel для ввода данных , когда отправить только добавить в listView.store

Не забудьте построить связь с БД, если необходимо, для добавления и удаления действий

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 не поддерживает запись одной записи в нескольких магазинах. Если вы сделаете это наоборот, странные вещи произойдут.