datagrid中跨页面实现多选
我在做一个跨页面选择删除的一个例子,ASP.NET页面下有一个grid,其中一列是模版列checkbox用于控制是否删除,并且grid已经实现分页,每点击下页都会重新读取数据库,我想实现用户选择各个页面中需要删除的行后,单击页面删除按钮,能统一删除所有页面选中的行,而不是一个页面操作一次
我参考网上例子写了一些代码,可是有错误,希望大家帮忙解决,同时可以提出更好的代码实例。
html部分:
<HTML>
<HEAD>
<title>DataGrid使用举例</title>
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<script language="JAVASCRIPT">
function AddRemoveValues(oChk)
{
UserDelete.HdnSelectedValues.value += "," + oChk.value;
}
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:datagrid id="dgShow" style="Z-INDEX: 101; LEFT: 69px; POSITION: absolute; TOP: 90px" runat="server"
AllowPaging="True" AutoGenerateColumns="False" ForeColor="Black" GridLines="None" CellPadding="2"
BackColor="LightGoldenrodYellow" BorderWidth="1px" BorderColor="Tan" Height="172px" Width="842px">
<SelectedItemStyle ForeColor="GhostWhite" BackColor="DarkSlateBlue"></SelectedItemStyle>
<AlternatingItemStyle BackColor="PaleGoldenrod"></AlternatingItemStyle>
<HeaderStyle Font-Bold="True" BackColor="Tan"></HeaderStyle>
<FooterStyle BackColor="Tan"></FooterStyle>
<Columns>
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate>
<INPUT id=chkSelect onclick=AddRemoveValues(this) type=checkbox value='<%# DataBinder.Eval(Container,"DataItem.StudentID") %>' name=chkSelect runat="server">
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="StudentID" ReadOnly="True" HeaderText="学生ID"></asp:BoundColumn>
<asp:BoundColumn DataField="StudentName" HeaderText="学生姓名"></asp:BoundColumn>
<asp:BoundColumn DataField="StudentPass" HeaderText="密码"></asp:BoundColumn>
<asp:BoundColumn DataField="Sex" HeaderText="性别"></asp:BoundColumn>
<asp:BoundColumn DataField="Birthday" HeaderText="生日"></asp:BoundColumn>
<asp:BoundColumn DataField="Email" HeaderText="邮件地址"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="性别模板列">
<ItemTemplate>
<asp:RadioButton id=RadioButton2 runat="server" Enabled="False" Checked='<%# DataBinder.Eval(Container, "DataItem.Sex") %>' Text="男">
</asp:RadioButton>
<asp:RadioButton id=RadioButton1 runat="server" Enabled="False" Checked='<%# !(bool)DataBinder.Eval(Container, "DataItem.Sex") %>' Text="女">
</asp:RadioButton>
</ItemTemplate>
<EditItemTemplate>
<asp:RadioButton id=cbSex runat="server" Checked='<%# DataBinder.Eval(Container, "DataItem.Sex") %>' Text="男" GroupName="Sex">
</asp:RadioButton>
<asp:RadioButton id=RadioButton4 runat="server" Checked='<%# !(bool)DataBinder.Eval(Container, "DataItem.Sex") %>' Text="女" GroupName="Sex">
</asp:RadioButton>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:ButtonColumn Text="选择" HeaderText="选择" CommandName="Select"></asp:ButtonColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" HeaderText="操作" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
<asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="Delete"></asp:ButtonColumn>
<asp:TemplateColumn HeaderText="自定义删除">
<ItemTemplate>
<asp:Button id="btnDelete" runat="server" Text="删除" CommandName="UserDelete"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
<asp:HyperLinkColumn Text="点击查看" DataNavigateUrlField="StudentID" DataNavigateUrlFormatString="Show.aspx?ID={0}"
DataTextField="StudentName" HeaderText="详细信息"></asp:HyperLinkColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="DarkSlateBlue" BackColor="PaleGoldenrod"></PagerStyle>
</asp:datagrid>
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 376px; POSITION: absolute; TOP: 472px" runat="server"
Text="Button"></asp:Button>
<INPUT id=HdnSelectedValues type=hidden name=HdnSelectedValues runat="server">
</FONT>
</form>
</body>
</HTML>