⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 votelist.aspx.cs

📁 动态生成页面
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

/*----------------------------------------------------------------
    // Copyright (C) 2008青岛惠信科技有限公司版权所有。 
    //
    // 文件名:网上调查
    // 功能描述:调查列表
    // 添加标识:sff20081103
    //      
----------------------------------------------------------------*/
namespace votemanage
{
	/// <summary>
	/// VoteList 的摘要说明。
	/// </summary>
	public class VoteList : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Button btnAdd;
		protected System.Web.UI.WebControls.Button btnDel;
		protected System.Web.UI.WebControls.Button btnStop;
		protected System.Web.UI.WebControls.TextBox txtVoteid;
		protected System.Web.UI.WebControls.DataGrid DataGrid1;
		protected System.Web.UI.WebControls.Label lblCurrentIndex;
		protected System.Web.UI.WebControls.Label lblPageCount;
		protected System.Web.UI.WebControls.LinkButton btnFirst;
		protected System.Web.UI.WebControls.LinkButton btnPrev;
		protected System.Web.UI.WebControls.LinkButton btnNext;
		protected System.Web.UI.WebControls.LinkButton btnLast;
		private stander.DBComm db;

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);
			this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
			this.btnDel.Click += new System.EventHandler(this.btnDel_Click);
			this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
			this.btnFirst.Click += new System.EventHandler(this.PagerButtonClick);
			this.btnPrev.Click += new System.EventHandler(this.PagerButtonClick);
			this.btnNext.Click += new System.EventHandler(this.PagerButtonClick);
			this.btnLast.Click += new System.EventHandler(this.PagerButtonClick);
		}
		#endregion
		
		private void Page_Load(object sender, System.EventArgs e)
		{
			//为删除按钮在客户端添加删除提示
			this.btnDel.Attributes.Add("onclick","{if(confirm('确定删除选中的调查吗?')){return true;}return false;}"); 
			
			// 在此处放置用户代码以初始化页面
			db = new stander.DBComm();
			
			if (!Page.IsPostBack)
			{
				// 要启用的调查ID
				this.txtVoteid.Text = Request.Params["voteid"];
				
				if (this.txtVoteid.Text != null && this.txtVoteid.Text.Trim() != "")
				{
					//执行启用调查操作
					UseVote();
				}
				
				//数据绑定
				databind();
			}
			
			btnFirst.Text = "首页";
			btnPrev.Text = "前页";
			btnNext.Text = "后页";
			btnLast.Text = "尾页";
		}
		
		#region 内部方法
		/// <summary>
		/// 数据绑定
		/// </summary>		
		private void databind()
		{
			//查询记录集
			string str = "select VoteID,(case when len(Title)>30 then substring(Title,0,30)+'...' else ";
			str += "Title end) as VoteTitle,(case UseFlag when 1 then '是' else '否' end) as isUse,";		
			str += "(case MessageFlag when 1 then '是' else '否' end) as Message,CreateTime,";
			str += "StartTime,EndTime from VoteClass order by CreateTime desc ";			
			DataTable dt = db.GetDataTable(str);
			
			//绑定数据源
			this.DataGrid1.DataSource = dt.DefaultView;
			this.DataGrid1.DataBind();
			
			//页码状态
			ShowStats();
			IsFirstLastPage();
			
			if (db != null) 
			{
				db.Dispose();
			}	
		}
		
		/// <summary>
		/// 翻页
		/// </summary>       
		public void PagerButtonClick(object sender, EventArgs e)
		{
			string arg = ((LinkButton)sender).CommandArgument.ToString();
			switch (arg)
			{
				case "next":
					if (DataGrid1.CurrentPageIndex < (DataGrid1.PageCount - 1))
					{
						DataGrid1.CurrentPageIndex += 1;
					}
					break;
				case "prev":
					if (DataGrid1.CurrentPageIndex > 0)
					{
						DataGrid1.CurrentPageIndex -= 1;
					}
					break;
				case "last":
					DataGrid1.CurrentPageIndex = (DataGrid1.PageCount - 1);
					break;
				default:
					DataGrid1.CurrentPageIndex = System.Convert.ToInt32(arg);
					break;
			}
			//数据绑定
			databind();
		}
		
		/// <summary>
		/// 总页数及当前页
		/// </summary>
		private void ShowStats()
		{
			lblCurrentIndex.Text = "第 " + (DataGrid1.CurrentPageIndex + 1).ToString() + " 页";
			lblPageCount.Text = "总共 " + DataGrid1.PageCount.ToString() + " 页";
		}

		/// <summary>
		/// 页码显示状态
		/// </summary>
		private void IsFirstLastPage()
		{
			if (this.DataGrid1.PageCount > 0)
			{
				if (DataGrid1.PageCount != 1)
				{
					if (DataGrid1.CurrentPageIndex == 0)
					{
						btnPrev.Enabled = false;
						btnFirst.Enabled = false;
					}
					else
					{
						btnPrev.Enabled = true;
						btnFirst.Enabled = true;
					}
					if (DataGrid1.CurrentPageIndex == DataGrid1.PageCount - 1)
					{
						btnNext.Enabled = false;
						btnLast.Enabled = false;
					}
					else
					{
						btnNext.Enabled = true;
						btnLast.Enabled = true;
					}
				}
				else
				{
					btnFirst.Enabled = false;
					btnLast.Enabled = false;
					btnPrev.Enabled = false;
					btnNext.Enabled = false;
				}
			}
			else
			{
				btnFirst.Enabled = false;
				btnLast.Enabled = false;
				btnPrev.Enabled = false;
				btnNext.Enabled = false;
			}
		}       
		
		/// <summary>
		/// 启用调查
		/// </summary>
		private void UseVote()
		{
			ArrayList arrSql = new ArrayList();//存储要操作的SQL语句
			
			string str = "update VoteClass set UseFlag=1 where VoteID=" + this.txtVoteid.Text;
			arrSql.Add(str);//启用选中的调查
			
			str = "update VoteClass set UseFlag=0 where VoteID!=" + this.txtVoteid.Text;
			arrSql.Add(str);//停用其它的调查
			
			db.TransCommanArray(arrSql);
			
			if (db != null) 
			{
				db.Dispose();
			}
			
			//重新绑定
			databind();
		}
		#endregion
		
		/// <summary>
		/// 新增调查,跳转至VoteAdd.aspx
		/// </summary>		
		private void btnAdd_Click(object sender, System.EventArgs e)
		{
			Response.Redirect("VoteAdd.aspx");
		}
		
		/// <summary>
		/// 批量删除调查
		/// </summary>		
		private void btnDel_Click(object sender, System.EventArgs e)
		{
			ArrayList arrSql = new ArrayList();//存储要操作的SQL语句
			
			int introw = 0;//删除的行数
			string strid = string.Empty;//删除调查的ID
			for (int i = 0; i < DataGrid1.Items.Count; i++)
			{
				CheckBox cb = (CheckBox)DataGrid1.Items[i].Controls[0].Controls[1];
				if (cb.Checked == true)
				{
					strid += DataGrid1.Items[i].Cells[1].Text.Trim() + ",";                    
					introw++;
				}
			}
			if (introw == 0)
			{
				Response.Write("<script>alert('请先选择要删除的记录!')</script>");
				return;
			}
			else
			{
				//======将选中的记录删除==========
				// 1.调查问题表
				string str = "delete VoteQuestion where VoteID in (" + strid.TrimEnd(',') + ")";
				arrSql.Add(str);
				// 2.调查结果表
				str = "delete VoteAnswerTable where VoteID in (" + strid.TrimEnd(',') + ")";
				arrSql.Add(str);
				// 3.调查记录表
				str = "delete VoteClass where VoteID in (" + strid.TrimEnd(',') + ")";
				arrSql.Add(str);
				
				//执行删除操作
				bool result = db.TransCommanArray(arrSql);
				if (result == false)
				{
					Page.RegisterStartupScript("", "<script>alert('删除失败')</script>");
					databind();					
				}
				else
				{
					Page.RegisterStartupScript("", "<script>alert('删除成功');location.replace('VoteList.aspx');</script>");
					databind();
				}

				if (db != null) 
				{
					db.Dispose();
				}		
			}
		}
		
		/// <summary>
		/// 批量停用调查
		/// </summary>		
		private void btnStop_Click(object sender, System.EventArgs e)
		{
			int introw = 0;//停用的行数
			string strid = string.Empty;//停用调查的ID
			for (int i = 0; i < DataGrid1.Items.Count; i++)
			{
				CheckBox cb = (CheckBox)DataGrid1.Items[i].Controls[0].Controls[1];
				if (cb.Checked == true)
				{
					strid += DataGrid1.Items[i].Cells[1].Text.Trim() + ",";                    
					introw++;
				}
			}
			if (introw == 0)
			{
				Response.Write("<script>alert('请先选择要停用的调查记录!')</script>");
				return;
			}
			else
			{
				//将选中的调查停用
				string str = "update VoteClass set UseFlag=0 where VoteID in (" + strid.TrimEnd(',') + ")";
				db.ExcCommand(str);
				
				databind();
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -