Как настроить ObjectDataSource для выбора строк из ListView - PullRequest
0 голосов
/ 13 января 2010

Я использую Asp.net 3.5, C #, Visual Studio 2008. Хорошо, поэтому я признаю, что мне здесь очень лень, но я знаю, что должен быть способ сделать это.

У меня есть 2 идентичных списка просмотра - listview1 и listview2. В столбце 1 обоих списков есть флажок и кнопка на странице.

Я хотел бы скопировать строки, которые проверяются в listview1, в listview2 при нажатии кнопки.

Я знаю, как это сделать, просматривая listview1, но как я могу сделать это за один шаг, используя ObjectDataSource?

Ответы [ 2 ]

0 голосов
/ 14 января 2010

Реализуйте метод в классе, где у вас уже есть ваши ObjectDataSource-Methods. В обработчике нажатия кнопок выясните, какие элементы выделены, и передайте их методу копирования.

Этот метод копирования должен обеспечивать необходимую логику для выполнения операций с базовыми данными, которые использует DataObjectSource.

Затем выполните ручное .DataBind () для обоих ListView, чтобы обеспечить последние данные.

0 голосов
/ 14 января 2010

возможно какая-то магия linq, что-то вроде

var data = listView1.Items.Where(i=> i.selected == true);

viewlist2.DataSource = data;
viewlist2.DataBind();

У меня нет VS прямо сейчас, так что этот код просто из головы, и я не уверен, названы ли свойства таким образом, или вы можете использовать оператор where непосредственно в Items или делать это нужно кулак .ToList

...