📄 s_expbooking.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using ExpReserve;
public partial class S_ExpBooking : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Admin aAdmin = (Admin)this.Master;
aAdmin.ManageTitle = "预约实验";
aAdmin.MenuSelectedValue = "SExpBooking";
lblCurrentTerm.Text = SingleInitials.DbAccess.GetActiveTerm();
UIControls.BindCourseDDL(this.ddlCourse, lblCurrentTerm.Text);
ddlExperiment.Items.Insert(0, "请选择..");
btnSeeAll_Click(this,new EventArgs());
this.lbMsg.Text = "";
}
}
#region 属性
static int m_ColID = 0;
public string CurrentTerm
{
get
{
return this.lblCurrentTerm.Text;
}
}
public string CurrentCourse
{
get
{
if (this.ddlCourse.SelectedIndex == 0)
{
return "";
}
return this.ddlCourse.SelectedValue;
}
}
public string CurrentExperiment
{
get
{
if (this.ddlExperiment.SelectedIndex == 0)
{
return "";
}
return this.ddlExperiment.SelectedItem.Text;
}
}
#endregion
/// <summary>
/// 返回所有的实验项目批次
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="sortExpression">要排序的字段</param>
private void BindDisplayList(int pageIndex, string sortExpression)
{
this.lbMsg.Text = "";
BatchList.Columns[m_ColID].Visible = true;
BatchList.SelectedIndex = -1;
DataTable dt = SingleInitials.DbAccess.GetBatchList(CurrentTerm,CurrentCourse,CurrentExperiment).Tables[0];//返回所有列表
dt.Columns.Add("State",typeof(string),"BookingCount+'/'+Capacity");
dt.Columns.Add("IsOverdue", typeof(string));
foreach (DataRow iDataRow in dt.Rows)
{
DateTime iDate = DateTime.Parse(iDataRow["Date"].ToString());
if (iDate >= DateTime.Now)
{
iDataRow["IsOverdue"] = "否";
}
else
{
iDataRow["IsOverdue"] = "是";
}
}
if (sortExpression == null || sortExpression == string.Empty)
{
JKLib.Web.GridViewOperation.BindPagingGridView(BatchList, dt.DefaultView, pageIndex);
}
else
{
JKLib.Web.GridViewOperation.BindPagingGridView(BatchList, dt.DefaultView, pageIndex, sortExpression, true, JKLib.Web.GridViewOperation.BindPagingGridViewType.Sorting);
}
BatchList.Columns[m_ColID].Visible = false;
}
#region 表格处理
protected void BatchList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
BindDisplayList(e.NewPageIndex, null);
}
protected void BatchList_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "BookBatch")
{
// ExperimentsList.SelectedIndex = int.Parse(e.CommandArgument.ToString());
string theID = BatchList.Rows[int.Parse(e.CommandArgument.ToString())].Cells[m_ColID].Text;
// tbxKeyID.Text = theID;
//DisplayItem(theID);
long theIntID = long.Parse(theID);
long StudentID = long.Parse(Users.GetCurrentTableID());
Booking aBooking = new Booking();
aBooking.BatchID = theIntID;
aBooking.StudentID = StudentID;
aBooking.Time = DateTime.Now;
aBooking.Grade = "未定";
aBooking.Mark = 0;
if (SingleInitials.DbAccess.GetStudentHasBooking(StudentID, theIntID))
{
lbMsg.Text = "预约失败,因为你已经预约了这个批次!";
return;
}
if (SingleInitials.DbAccess.GetStudentHasABookingInATime(StudentID, theIntID))
{
lbMsg.Text = "预约失败,因为在相同的时间点你只能预约一个实验批次";
return;
}
//判断该批次是否已经满员
if (SingleInitials.DbAccess.GetABatchIsFull(theIntID))
{
lbMsg.Text = "预约失败,该实验批次预约人数已经达到上限";
return;
}
if (SingleInitials.DbAccess.AddABooking(aBooking))
{
BindDisplayList(0,"");
lbMsg.Text = "预约成功!";
}
}
}
protected void BatchList_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Pager)
JKLib.Web.GridViewOperation.GridRowCreated(sender, e);
}
protected void BatchList_RowDataBound(object sender, GridViewRowEventArgs e)
{
////Button btn = (Button)e.Row.Cells[2].Controls[0];
////btn.Attributes.Add("onclick","return confirm('您真的要删除吗?');");
//LinkButton btn = (LinkButton)e.Row.Cells[2].Controls[0];
//btn.Attributes.Add("onclick", "return confirm('您真的要删除吗?');");
}
protected void BatchList_Sorting(object sender, GridViewSortEventArgs e)
{
BindDisplayList(BatchList.PageIndex, e.SortExpression);
}
#endregion
#region 列表事件处理
protected void ddlCourse_SelectedIndexChanged(object sender, EventArgs e)
{
BatchList.DataSource = null;
BatchList.DataBind();
if (ddlCourse.SelectedIndex > 0 && this.lblCurrentTerm.Text != "")
{
UIControls.BindExperimentsDDL(this.ddlExperiment,this.lblCurrentTerm.Text,this.ddlCourse.SelectedValue);
}
}
protected void ddlExperiment_SelectedIndexChanged(object sender, EventArgs e)
{
// if (ddlCourse.SelectedIndex>0 && ddlExperiment.SelectedIndex > 0)
//{
this.BindDisplayList(0,"");
// }
}
#endregion
protected void btnSeeAll_Click(object sender, EventArgs e)
{
int pageIndex = 0;
string sortExpression = "";
this.lbMsg.Text = "";
BatchList.Columns[m_ColID].Visible = true;
BatchList.SelectedIndex = -1;
this.ddlCourse.SelectedIndex = 0;
this.ddlExperiment.SelectedIndex = 0;
DataTable dt = SingleInitials.DbAccess.GetBatchList(CurrentTerm, "","").Tables[0];//返回所有列表
dt.Columns.Add("State", typeof(string), "BookingCount+'/'+Capacity");
dt.Columns.Add("IsOverdue", typeof(string));
foreach (DataRow iDataRow in dt.Rows)
{
DateTime iDate = DateTime.Parse(iDataRow["Date"].ToString());
if (iDate >= DateTime.Now)
{
iDataRow["IsOverdue"] = "否";
}
else
{
iDataRow["IsOverdue"] = "是";
}
}
if (sortExpression == null || sortExpression == string.Empty)
{
JKLib.Web.GridViewOperation.BindPagingGridView(BatchList, dt.DefaultView, pageIndex);
}
else
{
JKLib.Web.GridViewOperation.BindPagingGridView(BatchList, dt.DefaultView, pageIndex, sortExpression, true, JKLib.Web.GridViewOperation.BindPagingGridViewType.Sorting);
}
BatchList.Columns[m_ColID].Visible = false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -