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

📄 s_expbooking.aspx.cs

📁 实验课预约系统。采用.net+access数据库实现。 管理员对学生教师有管理功能
💻 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 + -