У меня есть коллекция объектов, которые я привязываю к Listview следующим образом:
if (!IsPostBack)
{
List<Equipment> persons = new List<Equipment>
{new Equipment{ItemName = "Sworn", ItemCount = 7, ItemCost = 255},
new Equipment{ItemName = "Civ", ItemCount = 3, ItemCost = 80},
new Equipment{ItemName = "Civ", ItemCount = 5, ItemCost = 200}};
lvMain.DataSource = persons;
BindList();
}
Я хочу добавить / обновить / удалить из этой коллекции объектов и отправить окончательную коллекцию объектов данных в BL при сохранении пользователем ... Вместо того, чтобы просто удалять / добавлять / обновлять каждый раз, когда изменяется строка.
Итак, мой вопрос: как мне поддерживать состояние для этого источника данных? Я пробовал это (удалить пример)
protected void lvMain_ItemCommand(object sender, ListViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "Delete":
{
ListViewDataItem lvdi = (ListViewDataItem)e.Item;
lvMain.Items.Remove(lvdi);
break;
}
Но это ничего не делает. Я не могу привязать его к источнику данных, потому что на этом этапе источник данных является нулевым. Я предполагаю, что просмотр списка сохраняет свое собственное состояние представления, которое содержит данные? ... Я предполагаю, что в худшем случае я всегда могу держать коллекцию объектов в сеансе объект .. ..
Я что-то делаю не так или думаю не так?