0

我正在使用 Asp.net 3.5、C#、Visual Studio 2008。好吧,所以我承认我在这里真的很懒惰,但我知道必须有办法做到这一点。

我有 2 个相同的列表视图 - listview1 和 listview2。两个列表视图的第 1 列中都有一个复选框,页面上有一个按钮。

当按下按钮时,我想将在 listview1 中选中的行复制到 listview2。

我知道如何通过循环通过 listview1 来做到这一点,但我怎样才能使用 ObjectDataSource 一步完成呢?

4

2 回答 2

0

也许是一些 linq 魔法,比如

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

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

我现在没有 VS,所以这段代码只是从我的脑海中浮现出来的,我不确定属性是否是这样命名的,或者您是否可以直接在 Items 上使用 where 或者您是否必须执行 .ToList拳头

于 2010-01-13T21:44:00.627 回答
0

在已经拥有 ObjectDataSource-Methods 的类中实现一个方法。在 Button Click Handler 中找出选择了哪些项目并将它们传递给 Copy 方法。

此复制方法应提供必要的逻辑来对 DataObjectSource 正在使用的基础数据执行操作。

然后在两个 ListView 上手动执行 .DataBind() 以确保最新数据。

于 2010-01-13T22:19:58.183 回答