📄 questionlist.aspx.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 + -