📄 updatastusrc.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;
using System.IO;
using System.Xml;
namespace stuman
{
/// <summary>
/// updatastusrc 的摘要说明。
/// </summary>
public class updatastusrc : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList Edschooldate;
protected System.Web.UI.WebControls.TextBox Edclass;
protected System.Web.UI.WebControls.DropDownList Edsubject;
protected System.Web.UI.WebControls.DropDownList Edsort;
protected System.Web.UI.WebControls.Button btnok;
protected System.Web.UI.WebControls.ListBox ListBox1;
protected System.Web.UI.WebControls.Button btnselok;
protected System.Web.UI.WebControls.Label lblclass;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Web.UI.HtmlControls.HtmlGenericControl selclass;
protected System.Web.UI.HtmlControls.HtmlForm Form1;
protected System.Web.UI.HtmlControls.HtmlGenericControl seldate;
protected System.Web.UI.HtmlControls.HtmlForm Form2;
protected System.Web.UI.HtmlControls.HtmlGenericControl view;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.HtmlControls.HtmlForm Form3;
private string datafile_stumain="stumain.xml";
private string datafile_stusrc="stusrc.xml";
private void Page_Load(object sender, System.EventArgs e)
{
if (!this.IsPostBack)
{
this.selclass.Visible=true;
this.seldate.Visible=false;
this.view.Visible=false;
}
}
private void create_date()
{
try
{
FileStream xmlfile;
xmlfile=new FileStream(Server.MapPath(datafile_stusrc),FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
DataSet ds=new DataSet();
ds.ReadXml(xmlfile,XmlReadMode.ReadSchema);
xmlfile.Close();
DateTime schooldate=new DateTime(Convert.ToInt32(this.Edschooldate.SelectedValue),9,1);
int classnum=Convert.ToInt32(this.Edclass.Text);
string subject=this.Edsubject.SelectedValue;
string sort=this.Edsort.SelectedValue;
Session["schooldate"]=schooldate;
Session["class"]=classnum;
Session["subject"]=subject;
Session["sort"]=sort;
int count=ds.Tables["Tbstusrc"].Rows.Count;
for (int i=0;i<count;i++)
{
if (Convert.ToDateTime(ds.Tables["Tbstusrc"].Rows[i]["schooldate"]).Year==schooldate.Year)
{
if (Convert.ToInt32(ds.Tables["Tbstusrc"].Rows[i]["class"])==classnum)
{
DataRelation rel=ds.Tables["Tbstusrc"].ChildRelations[0];
DataRow[] rows=ds.Tables["Tbstusrc"].Rows[i].GetChildRows(rel);
DataRelation rel1=ds.Tables["srcmain"].ChildRelations[0];
DataRow[] r=rows[0].GetChildRows(rel1);
int c=r.GetLength(0);
for (int j=0;j<c;j++)
{
if ((Convert.ToString(r[j]["subject"])==subject)&&(Convert.ToString(r[j]["sort"])==sort))
{
ListItem newitem=new ListItem(Convert.ToDateTime(r[j]["date"]).ToString("d"),Convert.ToDateTime(r[j]["date"]).ToString());
this.ListBox1.Items.Add(newitem);
}
}
break;
}
}
}
}
catch (Exception ex)
{
this.Response.Write(ex.ToString());
}
}
private void create_data()
{
try
{
FileStream xmlfile;
xmlfile=new FileStream(Server.MapPath(datafile_stusrc),FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
DataSet ds=new DataSet();
ds.ReadXml(xmlfile,XmlReadMode.ReadSchema);
xmlfile.Close();
int count=ds.Tables["Tbstusrc"].Rows.Count;
DataTable dt=new DataTable();
dt.Columns.Add("stuid",typeof(int));
dt.Columns.Add("name",typeof(string));
dt.Columns.Add("src",typeof(double));
dt.Columns.Add("num",typeof(double));
DateTime schooldate=(DateTime)Session["schooldate"];
int classnum=(int)Session["class"];
string subject=(string)Session["subject"];
string sort=(string)Session["sort"];
DateTime date=Convert.ToDateTime(this.ListBox1.SelectedValue);
for (int i=0;i<count;i++)
{
if (Convert.ToDateTime(ds.Tables["Tbstusrc"].Rows[i]["schooldate"]).Year==schooldate.Year)
{
if (Convert.ToInt32(ds.Tables["Tbstusrc"].Rows[i]["class"])==classnum)
{
DataRelation rel=ds.Tables["Tbstusrc"].ChildRelations[0];
DataRow[] rows=ds.Tables["Tbstusrc"].Rows[i].GetChildRows(rel);
DataRelation rel1=ds.Tables["srcmain"].ChildRelations[0];
int c=rows.GetLength(0);
for (int j=0;j<c;j++)
{
DataRow[] r=rows[j].GetChildRows(rel1);
int n=r.GetLength(0);
for (int l=0;l<n;l++)
{
if (Convert.ToDateTime(r[l]["date"])==date)
{
DataRow newrow=dt.NewRow();
newrow["stuid"]=Convert.ToInt32(rows[j]["stuid"]);
newrow["name"]=Convert.ToString(rows[j]["name"]);
newrow["src"]=Convert.ToDouble(r[l]["src"]);
dt.Rows.Add(newrow);
break;
}
}
}
break;
}
}
}
Session["srcdata"]=dt;
this.DataGrid1.DataSource=dt.DefaultView;
this.DataGrid1.DataBind();
}
catch (Exception ex)
{
this.Response.Write(ex.ToString());
}
}
private void updata()
{
try
{
FileStream xmlfilein;
xmlfilein=new FileStream(Server.MapPath(datafile_stusrc),FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
DataSet ds=new DataSet();
ds.ReadXml(xmlfilein,XmlReadMode.ReadSchema);
xmlfilein.Close();
DataTable dt=(DataTable)Session["srcdata"];
string subject=(string)Session["subject"];
string sort=(string)Session["sort"];
DateTime date=(DateTime)Session["date"];
DateTime schooldate=(DateTime)Session["schooldate"];
int classnum=(int)Session["class"];
int count=dt.Rows.Count;
for (int i=0;i<count;i++)
{
int cstuid=(int)dt.Rows[i]["stuid"];
double csrc=(double)dt.Rows[i]["src"];
int c=ds.Tables["srcmain"].Rows.Count;
for (int j=0;j<c;j++)
{
if (Convert.ToInt32(ds.Tables["srcmain"].Rows[j]["stuid"])==cstuid)
{
DataRelation rel=ds.Tables["srcmain"].ChildRelations[0];
DataRow[] rows=ds.Tables["srcmain"].Rows[j].GetChildRows(rel);
int ct=rows.GetLength(0);
for (int l=0;l<ct;l++)
{
if ((Convert.ToString(rows[l]["subject"])==subject)&&(Convert.ToString(rows[l]["sort"])==sort))
{
ds.Tables["srcmain"].Rows[j].GetChildRows(rel)[l]["src"]=csrc;
break;
}
}
break;
}
}
}
FileStream xmlfileout;
xmlfileout=new FileStream(Server.MapPath(datafile_stusrc),FileMode.Create,FileAccess.Write,FileShare.ReadWrite);
ds.WriteXml(xmlfileout,XmlWriteMode.WriteSchema);
xmlfileout.Close();
}
catch (Exception ex)
{
this.Response.Write(ex.ToString());
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnok.Click += new System.EventHandler(this.btnok_Click);
this.btnselok.Click += new System.EventHandler(this.btnselok_Click);
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.DataGrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_EditCommand);
this.DataGrid1.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_UpdateCommand);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnok_Click(object sender, System.EventArgs e)
{
this.selclass.Visible=false;
this.seldate.Visible=true;
this.view.Visible=false;
this.create_date();
}
private void btnselok_Click(object sender, System.EventArgs e)
{
this.selclass.Visible=false;
this.seldate.Visible=false;
this.view.Visible=true;
this.create_data();
DateTime schooldate=(DateTime)Session["schooldate"];
int classnum=(int)Session["class"];
string subject=(string)Session["subject"];
string sort=(string)Session["sort"];
DateTime date=Convert.ToDateTime(this.ListBox1.SelectedValue);
Session["date"]=date;
this.lblclass.Text=Convert.ToString(schooldate.Year)+"级"+Convert.ToString(classnum)+"班"+subject+sort+"考试"+
"成绩"+" "+"日期:"+date.ToString("d");
}
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.DataGrid1.EditItemIndex = e.Item.ItemIndex;
DataTable dt=(DataTable)Session["srcdata"];
this.DataGrid1.DataSource=dt.DefaultView;
this.DataGrid1.DataBind();
}
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
TableCell quantityCell = e.Item.Cells[0];
int stuid=Convert.ToInt32(quantityCell.Text);
DataTable dt=(DataTable)Session["srcdata"];
int count=dt.Rows.Count;
for (int i=0;i<count;i++)
{
if (Convert.ToInt32(dt.Rows[i]["stuid"])==stuid)
{
TableCell tc=e.Item.Cells[2];
TextBox bxsrc=(TextBox)tc.Controls[0];
dt.Rows[i]["src"]=Convert.ToDouble(bxsrc.Text);
break;
}
}
DataGrid1.EditItemIndex = -1;
Session["srcdata"]=(object)dt;
dt=(DataTable)Session["srcdata"];
this.DataGrid1.DataSource=dt.DefaultView;
this.DataGrid1.DataBind();
}
private void Button1_Click(object sender, System.EventArgs e)
{
this.updata();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -