- SelectMultiPages.aspx中:
- ------------------------------------------------------------------------------------------------------
- <%@ Page EnableViewState="true" CodeBehind="SelectMultiPages.aspx.cs" Language="c#"
- AutoEventWireup="false" Inherits="eMeng.Exam.SelectMultiPages" %>
- <HTML>
- <HEAD>
- <STYLE>
- * {FONT-SIZE:12PX}
- #Status {text-align:left}
- </STYLE>
- <SCRIPT language=JAVASCRIPT>
- function AddRemoveValues(oChk) {
- //在处理这个地方需要注意的是:你保存的值应该具有唯一性,这样才能不会替换错误的项。
- if(oChk.checked)
- SelectMultiPage.HdnSelectedValues.value += "," + oChk.value;
- else
- SelectMultiPage.HdnSelectedValues.value = SelectMultiPage.HdnSelectedValues.value.replace("," + oChk.value,"");
- }
- </SCRIPT>
- <FORM id=SelectMultiPage runat="server">
- <ASP:DATAGRID id=DataGrid1 runat="server" AllowPaging="True" Width="600px" AutoGenerateColumns="False" HorizontalAlign="Center">
- <ALTERNATINGITEMSTYLE BackColor="#EEEEEE"></ALTERNATINGITEMSTYLE>
- <HEADERSTYLE HorizontalAlign="Center" BackColor="#AAAADD" Font-Bold="True"></HEADERSTYLE>
- <PAGERSTYLE HorizontalAlign="Right" Visible="True" Mode="NumericPages"></PAGERSTYLE>
- <COLUMNS>
- <ASP:TEMPLATECOLUMN HeaderText="选择">
- <ITEMTEMPLATE>
- <INPUT id=chkSelect οnclick=AddRemoveValues(this) type=checkbox value='<%#DataBinder.Eval(Container.DataItem,"Title")%>' runat="server">
- </ITEMTEMPLATE>
- </ASP:TEMPLATECOLUMN>
- <ASP:TEMPLATECOLUMN HeaderText="文章标题">
- <ITEMTEMPLATE>
- <ASP:LITERAL id=TitleShow runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>' />
- </ITEMTEMPLATE>
- </ASP:TEMPLATECOLUMN>
- <ASP:TEMPLATECOLUMN HeaderText="发布时间">
- <ITEMTEMPLATE>
- <ASP:LITERAL runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "CreateDate").ToString() %>' />
- </ITEMTEMPLATE>
- </ASP:TEMPLATECOLUMN>
- </COLUMNS>
- </ASP:DATAGRID>
- <DIV align=center>
- <ASP:BUTTON id=Button1 runat="server" Text="得到所选的值"></ASP:BUTTON>
- <DIV id=Status>
- <ASP:LABEL id=Label1 runat="server"></ASP:LABEL>
- </DIV>
- <INPUT id=HdnSelectedValues type=hidden name=HdnSelectedValues runat="server">
- </DIV>
- </FORM>
- SelectMultiPages.aspx.cs中:
- -------------------------------------------------------------------------------------------------------------
- using System;
- using System.Collections;
- using System.ComponentModel;
- using System.Data;
- using System.Data.OleDb;
- using System.Drawing;
- using System.Web;
- using System.Web.SessionState;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.HtmlControls;
- namespace eMeng.Exam
- {
- /// <SUMMARY>
- /// SelectMultiPages 的摘要说明。
- /// </SUMMARY>
- public class SelectMultiPages : System.Web.UI.Page
- {
- protected System.Web.UI.WebControls.Button Button1;
- protected System.Web.UI.WebControls.Label Label1;
- protected System.Web.UI.HtmlControls.HtmlInputHidden HdnSelectedValues;
- protected System.Web.UI.WebControls.DataGrid DataGrid1;
- private void Page_Load(object sender, System.EventArgs e)
- {
- // 在此处放置用户代码以初始化页面
- if(!Page.IsPostBack)
- BindData();
- }
- private void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
- {
- DataGrid1.CurrentPageIndex = e.NewPageIndex;
- BindData();
- }
- void BindData()
- {
- OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
- + HttpContext.Current.Server.MapPath("aspx.mdb"));
- OleDbDataAdapter da = new OleDbDataAdapter("Select Title, CreateDate from Document",cn);
- DataSet ds = new DataSet();
- da.Fill(ds);
- DataGrid1.DataSource= ds;
- DataGrid1.DataBind();
- }
- private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
- {
- //重新显示所选择的项目
- if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
- {
- if(HdnSelectedValues.Value.IndexOf(((Literal)e.Item.Cells[1].FindControl("TitleShow")).Text) >= 0 )
- {
- HtmlInputCheckBox ChkSelected = (HtmlInputCheckBox)(e.Item.Cells[0].FindControl("ChkSelect"));
- ChkSelected.Checked = true;
- }
- }
- }
- private void Button1_Click(object sender, System.EventArgs e)
- {
- //为了显示的方便进行替换的
- Label1.Text = HdnSelectedValues.Value.Replace(",","<LI>");
- }
- #region Web 窗体设计器生成的代码
- override protected void OnInit(EventArgs e)
- {
- //
- // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
- //
- InitializeComponent();
- base.OnInit(e);
- }
- /// <SUMMARY>
- /// 设计器支持所需的方法 - 不要使用代码编辑器修改
- /// 此方法的内容。
- /// </SUMMARY>
- private void InitializeComponent()
- {
- this.DataGrid1.ItemDataBound +=
- new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
- this.DataGrid1.PageIndexChanged +=
- new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
- this.Button1.Click += new System.EventHandler(this.Button1_Click);
- this.Load += new System.EventHandler(this.Page_Load);
- }
- #endregion
- }
- }
- </LI>
跨页面实现多选(转载)
最新推荐文章于 2023-12-24 02:05:17 发布