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

📄 questionlist.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青岛惠信科技有限公司版权所有。 
    //
    // 文件名:网上调查
    // 功能描述:问题列表
    // 添加标识:sff20081030
    //      
----------------------------------------------------------------*/
namespace votemanage
{
	/// <summary>
	/// QuestionList 的摘要说明。
	/// </summary>
	public class QuestionList : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.DataGrid DataGrid1;
		protected System.Web.UI.WebControls.Button btnAdd;
		protected System.Web.UI.WebControls.Button btnDel;
		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.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
			this.btnDel.Click += new System.EventHandler(this.btnDel_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);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#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)
			{
				databind();
			}
			
			btnFirst.Text = "首页";
			btnPrev.Text = "前页";
			btnNext.Text = "后页";
			btnLast.Text = "尾页";
		}
		
		#region 内部方法
		
		/// <summary>
		/// 数据绑定
		/// </summary>
		private void databind()
		{
			//查询记录集
			string str = "select QuestionID,(case when len(QuestionTitle)>30 then ";
			str += "substring(QuestionTitle,0,30)+'...' else QuestionTitle end) as title,";
			str += "(case QuestionType when 2 then '填空' when 1 then '多选' else '单选' end) ";
			str += "as type from QuestionTable order by QuestionID 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;
			}
		}     

		#endregion
		
		/// <summary>
		/// 新增问题
		/// </summary>
		protected void btnAdd_Click(object sender, System.EventArgs e)
		{
			Response.Redirect("QuestionAdd.aspx");
		}

		/// <summary>
		/// 删除选中的记录
		/// </summary>
		protected 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 AnswerChooseTable where QuestionID in (" + strid.TrimEnd(',') + ")";
				arrSql.Add(str);				
				// 2.删除调查问题表中的相关记录
				str = "delete VoteQuestion where QuestionID in (" + strid.TrimEnd(',') + ")";
				arrSql.Add(str);
				// 3.删除调查结果表中的相关记录
				str = "delete VoteAnswerTable where QuestionID in (" + strid.TrimEnd(',') + ")";
				arrSql.Add(str);				
				// 4.删除问题表中的相关记录
				str = "delete QuestionTable where QuestionID 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('QuestionList.aspx');</script>");
					databind();
				}

				if (db != null) 
				{
					db.Dispose();
				}			
			}
		}			
	}
}

⌨️ 快捷键说明

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