如何配置 ObjectDataSource 以从 ListView 中选择行

发布于 2024-08-18 11:34:03 字数 270 浏览 1 评论 0原文

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

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

我想在按下按钮时将 listview1 中检查的行复制到 listview2 。

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

I am using Asp.net 3.5, C#, Visual Studio 2008. Ok, so I admit I am being really lazy here, but I know there's got to be a way to do this.

I have 2 identical listviews - listview1 and listview2. There is a checkbox in column 1 of both listviews, and a button on the page.

I would like to copy the rows that are checked in listview1 to listview2 when the button is pressed.

I know how to do this by looping thru listview1, but how can I do it in one step using an ObjectDataSource?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

木格 2024-08-25 11:34:03

也许有一些 linq 魔法,比如

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

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

我现在没有 VS,所以这段代码只是我的想法,我不确定属性是否是这样命名的,或者您是否可以直接在 Items 上使用 where 或 if你必须用 .ToList 拳头

perhaps some linq magic, something like

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

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

I do not have VS right now, so this code is just from the top of my head and im not sure if the properties are named like that, or if you can use a where directly on Items or if you have to do a .ToList fist

心凉 2024-08-25 11:34:03

在已有 ObjectDataSource 方法的类中实现一个方法。
在按钮单击处理程序中找出选择了哪些项目并将其传递给 Copy 方法。

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

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

Implement a method in the class where you already have your ObjectDataSource-Methods.
In the Button Click Handler find out, which items are selected and pass them to the Copy method.

This copy method should provide the necessary logic to perform operations with the underlying data the DataObjectSource is using.

Afterwards perform a manually .DataBind() on both ListViews to ensure latest data.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文