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

📄 studentattend.aspx.cs

📁 asp.net 2.0的教务管理软件源码
💻 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;
//该源码下载自www.51aspx.com(51aspx.com)
public partial class Personal_StudentAttend : System.Web.UI.Page
{
    LoginInfo My;
    protected void Page_Load(object sender, EventArgs e)
    {
        My = new LoginInfo(Session["LoginID"]);
        if (My.LoginID == 0) Response.Redirect("~/Signin.aspx");

        ClassCourse.ClassCourseChanged += new uctl_ClassCourse.ClassCourseChangedEventHander(ClassCourseChange);

        if (!IsPostBack)
        {
            string datenow = CommOp.ToStr(Session["AttendtDate"]);
            if (datenow == "")
                Calendar1.SelectedDate = DateTime.Now;
            else
            {
                Calendar1.SelectedDate = Convert.ToDateTime(datenow);
            }
            txtStartTime.Text = Calendar1.SelectedDate.ToShortDateString();
            btnSave.Attributes.Add("onclick", "return saveChanged();");
            txtStartTime.Attributes.Add("onclick", "turnDatePicker();");
        }
    }

    private void savePreviousChange(string prevChg)
    {
        string[] attStatus = prevChg.Split(',');
        foreach (string att in attStatus)
        {
            string[] ats = att.Split('|');
            string sql = "";
            if (ats[2] == "0")
            {
                sql = "DELETE FROM J_Attend WHERE at_ID = " + ats[0];
                DBExec.ExecNonQuery(sql);
            }
            else if (ats[0] == "0")
            {
                sql = "INSERT INTO J_Attend (at_StCourse,at_StartTime,at_Time,at_Type) "
                + "VALUES (" + ats[1] + ",'" + txtStartTime.Text + "'," + txtTime.Text + "," + ats[2] + ")";
                DBExec.ExecNonQuery(sql);
            }
            else
            {
                sql = "UPDATE J_Attend SET at_StartTime='" + txtStartTime.Text + "',at_Time=" + txtTime.Text + ", at_type=" + ats[2] + " WHERE at_ID=" + ats[0] + " AND at_StCourse=" + ats[1];
                DBExec.ExecNonQuery(sql);
            }
        }
    }

    private void ClassCourseChange()
    {
        string classname = "(无班级)";
        string coursename = "(所有课程)";
        if (ClassCourse.ClassName != "") classname = ClassCourse.ClassName;
        if (ClassCourse.CourseName != "") coursename = ClassCourse.CourseName;

        Path.Text = classname + " - " + coursename;

        SqlDataSource3.SelectParameters.Clear();
        SqlDataSource3.SelectParameters.Add("de_ID", ClassCourse.ClassID.ToString());
        SqlDataSource3.SelectParameters.Add("co_ID", ClassCourse.CourseID.ToString());
        SqlDataSource3.SelectParameters.Add("ThisDate", TypeCode.DateTime, txtStartTime.Text);
        SqlDataSource3.SelectParameters.Add("EmployeeID", My.LoginID.ToString());
        GridView1.DataBind();
    }

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        String[] TypeNameArr = new String[] { "", "正点", "迟到", "早退", "病假", "事假", "缺课" };
        int passedcol = 4; //已上课时单元格
        int attendedcol = 5; //实上课时单元格
        int clickcol = 7; //
        int lastcol = 8;
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            DataKey keys = GridView1.DataKeys[e.Row.RowIndex];

            int key = 0;
            int at_ID = 0;
            int sc_ID = 0;
            int passed = 0;
            int attended = 0;
            int co_Time = 0;
            int attendPercent = 0;
            int passPercent = 0;

            if (keys[0] != DBNull.Value) at_ID = Convert.ToInt32(keys[0]);
            if (keys[1] != DBNull.Value) sc_ID = Convert.ToInt32(keys[1]);
            if ((keys[2]) != DBNull.Value) key = Convert.ToInt32(keys[2]);
            if (keys[3] != DBNull.Value) passed = Convert.ToInt32(keys[3]);
            if (keys[4] != DBNull.Value) attended = Convert.ToInt32(keys[4]);

            co_Time = Convert.ToInt32(keys[5]);


            if (co_Time > 0) passPercent = (int)((double)passed / co_Time * 100.00); //经过的课程比率
            if (passed > 0) attendPercent = (int)((double)attended / passed * 100.00); //上过的课程比率

            e.Row.Cells[passedcol].Text = "<img src='../images/prog.gif' height='14' width='" + passPercent*3/4 + "' align='absmiddle' />" + passed + "/" + co_Time;
            //           e.Row.Cells[passedcol].Attributes.Add("style", "background:url('../images/cac.gif') no-repeat -" + (157 - passPercent * 157 / 175) + "px ");

            e.Row.Cells[attendedcol].Text = "<img src='../images/prog.gif' height='14' width='" + attendPercent*3/4 + "' align='absmiddle' />" + attendPercent + "%";
            //         e.Row.Cells[attendedcol].Attributes.Add("style", "background:url('../images/cac.gif') no-repeat -"+ (157- attendPercent*157/175) + "px ");


            e.Row.Cells[clickcol].Attributes.Add("onmouseup", "if (!typeArr[" + e.Row.RowIndex + "]) typeArr[" + e.Row.RowIndex + "] = new AttendBox(this," + at_ID + "," + keys[1] + "," + key + "," + e.Row.RowIndex + "); typeArr[" + e.Row.RowIndex + "].click();");

            e.Row.Cells[clickcol].CssClass = "att" + key;
            e.Row.Cells[clickcol].Text = TypeNameArr[key];

            e.Row.Cells[lastcol].Text = "<a href=\"javascript:opendialog(" + at_ID + "," + sc_ID + ",'" + txtStartTime.ClientID + "','" + txtTime.ClientID + "')\">修改</a>";
        }
    }

    protected void btnSave_Click(object sender, EventArgs e)
    {
        savePreviousChange(Request.Form["ChangedInfo"]);
        GridView1.DataBind();
    }

    private void dayPicked()
    {
        txtStartTime.Text = Calendar1.SelectedDate.ToShortDateString();
        Session["AttendtDate"] = Calendar1.SelectedDate;
        ClassCourse.ShowAndSave();
        ClassCourseChange();
    }

    protected void Calendar1_SelectionChanged(object sender, EventArgs e)
    {
        dayPicked();
    }

    protected void btnNextDay_Click(object sender, EventArgs e)
    {
        Calendar1.SelectedDate = Calendar1.SelectedDate.AddDays(1);
        dayPicked();
    }

    protected void btnPrevtDay_Click(object sender, EventArgs e)
    {
        Calendar1.SelectedDate = Calendar1.SelectedDate.AddDays(-1);
        dayPicked();
    }

    protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
    {
        lblCounter.Text = "(" + e.AffectedRows + "人)";
    }
}

⌨️ 快捷键说明

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