ListView多个删除(CheckBox)

时间:2012-01-31 18:32:58

标签: c# asp.net linq linq-to-sql listview

抱歉,我已经搜索了整个网站,但我找不到这个问题的答案

我打算在列表视图中使用每个项目中的复选框和一个删除按钮,以便我可以一次删除多行,是否可以开始这项工作?

这是我目前的代码

<asp:ListView ID="ListInbox" runat="server" DataKeyNames="MessageID" 
    DataSourceID="LinqDataSourceInbox" >
    <EmptyDataTemplate>
    There is no message
    </EmptyDataTemplate>

    <ItemTemplate>
    <table runat="server">
    <tr runat="server">
    <td runat="server">
    <asp:CheckBox ID="CheckBoxSelect" runat="server" />
    </td>
    <td runat="server">
    <asp:Panel ID="PanelMsg" runat="server" Width="400px">
        <a href='UserProfile.aspx?UserName=<%# Eval("FromUserName") %>'><img src="ProfilePic/<%#Eval("User.ProfilePic") %>" alt='' width="25"  /></a>
        <a href='UserProfile.aspx?UserName=<%# Eval("FromUserName") %>'><%# Eval("FromUserName") %></a>
        write you message: 
        <a href='ViewMessages.aspx?MsgID=<%# Eval("MessageID") %>'><%# Eval("Subject") %></a>
        <%# Eval("MessageTime") %>
    </asp:Panel>
    </td>
    </tr>
    </table>
    <hr style="text-align:left; width:400px;" />
    </ItemTemplate>

    <LayoutTemplate>
    <div style="min-height:450px;">
    <div runat="server" id="itemPlaceholder">
    </div>
    </div>
    </LayoutTemplate>
</asp:ListView>

问题是

  1. CheckBox放在哪里?选定/项目模板?
  2. 删除按钮放在哪里?内部/外部ListView?
  3. 提前......

1 个答案:

答案 0 :(得分:1)

我们与支持GridView的{​​{1}}类似,我想我可以给你一个大致的想法,你可以做类似的事情。

  1. 创建标志列/字段。例如:DataTable
  2. User.SetToDelete将此标志设置为true。
  3. 在删除按钮的onCheckChanged后,迭代行并查找设置为要删除的项目。
  4. 关于简单GUI的建议:

    Grid with multiple delete

    希望它有所帮助。