| @@ -11,7 +11,6 @@ namespace StuMgmClient | |||||
| public partial class SelectFrom : Form | public partial class SelectFrom : Form | ||||
| { | { | ||||
| Dictionary<int, string> dic = new Dictionary<int, string>(); | Dictionary<int, string> dic = new Dictionary<int, string>(); | ||||
| Dictionary<int, string> dic2 = new Dictionary<int, string>(); | |||||
| DataRow dr = null; | DataRow dr = null; | ||||
| int stateN = 0; | int stateN = 0; | ||||
| public SelectFrom(DataRow drView,int state) | public SelectFrom(DataRow drView,int state) | ||||
| @@ -20,11 +19,9 @@ namespace StuMgmClient | |||||
| dr=drView; | dr=drView; | ||||
| stateN = state; | stateN = state; | ||||
| dic.Add(0, "未开始"); dic.Add(1, "进行中"); dic.Add(2, "待验收"); dic.Add(3, "等待验收中"); dic.Add(4, "验收中"); dic.Add(5, "验收完成"); dic.Add(6, "超时"); dic.Add(7, "预习"); | dic.Add(0, "未开始"); dic.Add(1, "进行中"); dic.Add(2, "待验收"); dic.Add(3, "等待验收中"); dic.Add(4, "验收中"); dic.Add(5, "验收完成"); dic.Add(6, "超时"); dic.Add(7, "预习"); | ||||
| dic2.Add(0, "基础学习(一阶段)"); dic2.Add(1, "四则运算(一阶段)"); dic2.Add(2, "算法题(一阶段)"); dic2.Add(3, "Modbus(一阶段)"); dic2.Add(4, "待定(二阶段)"); dic2.Add(5, "待定(二阶段)"); | |||||
| } | } | ||||
| private void SelectFrom_Load(object sender, EventArgs e) | private void SelectFrom_Load(object sender, EventArgs e) | ||||
| { | { | ||||
| //MssionPower(); | |||||
| ShowData(dr); | ShowData(dr); | ||||
| } | } | ||||
| //数据回显 | //数据回显 | ||||
| @@ -59,34 +56,34 @@ namespace StuMgmClient | |||||
| this.Dispose(); | this.Dispose(); | ||||
| } | } | ||||
| } | } | ||||
| //状态值改变控件 | |||||
| public void MssionPower() | |||||
| { | |||||
| //任务权限 | |||||
| int stateNum = Convert.ToInt32(dr["State"]); | |||||
| switch (stateNum) | |||||
| { | |||||
| case 0: | |||||
| dr["Content"] = "当前不可查看"; | |||||
| lblTime.Visible = false; | |||||
| lblState.Visible = false; | |||||
| btnSumit.Visible = false; | |||||
| break; | |||||
| case 1: | |||||
| btnSumit.Visible = true; | |||||
| break; | |||||
| case 2: | |||||
| case 3: | |||||
| case 4: | |||||
| case 5: | |||||
| case 6: | |||||
| btnSumit.Visible = false; | |||||
| break; | |||||
| case 7: | |||||
| lblTime.Visible = false; | |||||
| btnSumit.Visible = false; | |||||
| break; | |||||
| } | |||||
| } | |||||
| ////状态值改变控件 | |||||
| //public void MssionPower() | |||||
| //{ | |||||
| // //任务权限 | |||||
| // int stateNum = Convert.ToInt32(dr["State"]); | |||||
| // switch (stateNum) | |||||
| // { | |||||
| // case 0: | |||||
| // dr["Content"] = "当前不可查看"; | |||||
| // lblTime.Visible = false; | |||||
| // lblState.Visible = false; | |||||
| // btnSumit.Visible = false; | |||||
| // break; | |||||
| // case 1: | |||||
| // btnSumit.Visible = true; | |||||
| // break; | |||||
| // case 2: | |||||
| // case 3: | |||||
| // case 4: | |||||
| // case 5: | |||||
| // case 6: | |||||
| // btnSumit.Visible = false; | |||||
| // break; | |||||
| // case 7: | |||||
| // lblTime.Visible = false; | |||||
| // btnSumit.Visible = false; | |||||
| // break; | |||||
| // } | |||||
| //} | |||||
| } | } | ||||
| } | } | ||||
| @@ -7,6 +7,7 @@ namespace StuMgmClient | |||||
| public partial class StudentForm : Form | public partial class StudentForm : Form | ||||
| { | { | ||||
| int m_token; | int m_token; | ||||
| int m_jobId; | |||||
| public StudentForm(short job_id, int token) | public StudentForm(short job_id, int token) | ||||
| { | { | ||||
| m_token = token; | m_token = token; | ||||
| @@ -5,6 +5,7 @@ using System.Drawing; | |||||
| using System.Data; | using System.Data; | ||||
| using System.Text; | using System.Text; | ||||
| using System.Windows.Forms; | using System.Windows.Forms; | ||||
| using StuMgmLib.MyNameSpace; | |||||
| namespace StuMgmClient | namespace StuMgmClient | ||||
| { | { | ||||
| @@ -15,33 +16,23 @@ namespace StuMgmClient | |||||
| InitializeComponent(); | InitializeComponent(); | ||||
| } | } | ||||
| DataTable db = null; | DataTable db = null; | ||||
| ////个人信息 | |||||
| //private DataSet ds = null; | |||||
| //public DataSet Ds | |||||
| //{ | |||||
| // get { return ds; } | |||||
| // set { ds = value; } | |||||
| //} | |||||
| ////节点table | |||||
| //DataTable table = null; | |||||
| ////dataRows转化成的table | |||||
| //DataTable tableClone = null; | |||||
| Dictionary<short, CourseStatusEnum> allCourseStatus = null; | |||||
| //dataRows转化成的table | |||||
| DataTable tableClone = null; | |||||
| //Data da = new Data(); | //Data da = new Data(); | ||||
| private void StudentTree_Load(object sender, EventArgs e) | private void StudentTree_Load(object sender, EventArgs e) | ||||
| { | { | ||||
| db = SystemCtrl.GetStreeTable(); | |||||
| db = SystemCtrl.GetTable(); | |||||
| allCourseStatus= SystemData.StreeCourseStatus(); | |||||
| dgvStudent.Visible = false; | dgvStudent.Visible = false; | ||||
| BindRoot(); | BindRoot(); | ||||
| //da.GetNodesDic(table); | //da.GetNodesDic(table); | ||||
| } | } | ||||
| ////添加父节点的方法 | |||||
| //添加父节点的方法 | |||||
| private void BindRoot() | private void BindRoot() | ||||
| { | { | ||||
| //ClientMysql cm = new ClientMysql(); | |||||
| // DataSet ds = cm.SelectNode(); | |||||
| //table = Ds.Tables["course_info"]; | |||||
| DataRow[] rows = db.Select("FirstNode=0");//取根 | |||||
| //把父节点的数据帅选出来 | |||||
| DataRow[] rows = db.Select("Pid=0");//取根 | |||||
| foreach (DataRow dRow in rows) | foreach (DataRow dRow in rows) | ||||
| { | { | ||||
| TreeNode rootNode = new TreeNode(); | TreeNode rootNode = new TreeNode(); | ||||
| @@ -54,12 +45,12 @@ namespace StuMgmClient | |||||
| } | } | ||||
| } | } | ||||
| ////添加子节点的方法、递归绑定子区域 | |||||
| //添加子节点的方法、递归绑定子区域 | |||||
| private void BindChildAreas(TreeNode fNode) | private void BindChildAreas(TreeNode fNode) | ||||
| { | { | ||||
| DataRow dr = (DataRow)fNode.Tag;//父节点数据关联的数据行 | DataRow dr = (DataRow)fNode.Tag;//父节点数据关联的数据行 | ||||
| int fAreaId = Convert.ToInt32(dr["Id"]); //父节点ID | int fAreaId = Convert.ToInt32(dr["Id"]); //父节点ID | ||||
| DataRow[] rows1 = db.Select("SecondNode =" + fAreaId);//子区域 | |||||
| DataRow[] rows1 = db.Select("Pid =" + fAreaId);//子区域 | |||||
| if (rows1.Length == 0) //递归终止,区域不包含子区域时 | if (rows1.Length == 0) //递归终止,区域不包含子区域时 | ||||
| { | { | ||||
| return; | return; | ||||
| @@ -73,48 +64,42 @@ namespace StuMgmClient | |||||
| fNode.Nodes.Add(node); | fNode.Nodes.Add(node); | ||||
| } | } | ||||
| } | } | ||||
| ////子节点单击显示内容 | |||||
| //private void StudentTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) | |||||
| private void StudentTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { } | |||||
| //{ | |||||
| // if (e.Button == System.Windows.Forms.MouseButtons.Left) //单击鼠标左键才响应 | |||||
| // { | |||||
| // if (e.Node.Level == 1) //判断子节点才响应 | |||||
| // { | |||||
| // dgvStudent.Visible = true; | |||||
| // DataRow dr = (DataRow)e.Node.Tag; | |||||
| // int fAreaId = Convert.ToInt32(dr["id"]); //子节点ID | |||||
| // DataRow[] drows = table.Select("pid =" + fAreaId);//取根 | |||||
| // tableClone = table.Clone();//克隆表结构 | |||||
| // foreach (DataRow drr in drows) | |||||
| // { | |||||
| // tableClone.ImportRow(drr); | |||||
| // } | |||||
| // dgvStudent.AutoGenerateColumns = false; | |||||
| // dgvStudent.AllowUserToAddRows = false; | |||||
| // dgvStudent.DataSource = tableClone; | |||||
| // } | |||||
| // } | |||||
| //} | |||||
| private void DgvStudent_CellContentClick(object sender, DataGridViewCellEventArgs e) | |||||
| { } | |||||
| //子节点单击显示内容 | |||||
| private void StudentTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) | |||||
| { | |||||
| if (e.Button == System.Windows.Forms.MouseButtons.Left) //单击鼠标左键才响应 | |||||
| { | |||||
| if (e.Node.Level == 1) //判断子节点才响应 | |||||
| { | |||||
| dgvStudent.Visible = true; | |||||
| DataRow dr = (DataRow)e.Node.Tag; | |||||
| int fAreaId = Convert.ToInt32(dr["id"]); //子节点ID | |||||
| DataRow[] drows = db.Select("pid =" + fAreaId);//取根 | |||||
| tableClone = db.Clone();//克隆表结构 | |||||
| foreach (DataRow drr in drows) | |||||
| { | |||||
| tableClone.ImportRow(drr); | |||||
| } | |||||
| dgvStudent.AutoGenerateColumns = false; | |||||
| dgvStudent.AllowUserToAddRows = false; | |||||
| dgvStudent.DataSource = tableClone; | |||||
| } | |||||
| } | |||||
| } | |||||
| ////我的任务_查看按钮方法 | ////我的任务_查看按钮方法 | ||||
| //private void DgvStudent_CellContentClick(object sender, DataGridViewCellEventArgs e) | |||||
| //{ | |||||
| // if (e.ColumnIndex == 1 && e.RowIndex != -1) | |||||
| // { | |||||
| // //Dictionary<int, int> stateDic = da.StateParsing(table); | |||||
| // Dictionary<int, int> stateDic = da.GetNodesDic(table); | |||||
| // // string s=da.DicParsing(stateDic); | |||||
| // DataRow drViews = tableClone.Rows[e.RowIndex]; | |||||
| // int state = stateDic[Convert.ToInt32((drViews["id"]))]; | |||||
| // SelectFrom sf = new SelectFrom(drViews, state); | |||||
| // //string test = da.DicParsing(stateDic); | |||||
| // sf.ShowDialog(); | |||||
| // // ShowData(); | |||||
| // } | |||||
| //} | |||||
| private void DgvStudent_CellContentClick(object sender, DataGridViewCellEventArgs e) | |||||
| { | |||||
| if (e.ColumnIndex == 1 && e.RowIndex != -1) | |||||
| { | |||||
| DataRow drViews = tableClone.Rows[e.RowIndex]; | |||||
| short idState = Convert.ToInt16((drViews["id"])); | |||||
| int state=(int)allCourseStatus[idState]; | |||||
| SelectFrom sf = new SelectFrom(drViews, state); | |||||
| //string test = da.DicParsing(stateDic); | |||||
| sf.ShowDialog(); | |||||
| } | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| @@ -86,9 +86,10 @@ namespace StuMgmClient | |||||
| return ErrCode.Success; | return ErrCode.Success; | ||||
| } | } | ||||
| internal static DataTable GetStreeTable() | |||||
| internal static DataTable GetTable() | |||||
| { | { | ||||
| return SystemData.StreeTable(); | |||||
| return SystemData.StreeTable(); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -13,7 +13,7 @@ namespace StuMgmClient | |||||
| { | { | ||||
| static Dictionary<short, CourseInfo> allCourseInfo; | static Dictionary<short, CourseInfo> allCourseInfo; | ||||
| static Dictionary<short,CourseStatusEnum> allCourseStatus; | static Dictionary<short,CourseStatusEnum> allCourseStatus; | ||||
| static List<StreeDatas> allStreeDatas; | |||||
| static List<CourseInfo> courseInfo; | |||||
| internal static ErrCode InitSystemData() | internal static ErrCode InitSystemData() | ||||
| { | { | ||||
| ErrCode err; | ErrCode err; | ||||
| @@ -25,7 +25,8 @@ namespace StuMgmClient | |||||
| static ErrCode InitCourseInfo() | static ErrCode InitCourseInfo() | ||||
| { | { | ||||
| ErrCode err; | ErrCode err; | ||||
| List<CourseInfo> courseInfo; | |||||
| //List<CourseInfo> | |||||
| courseInfo = new List<CourseInfo>(); ; | |||||
| err = SystemCtrl.GetCourseInfo(out courseInfo); | err = SystemCtrl.GetCourseInfo(out courseInfo); | ||||
| if (err != ErrCode.Success) | if (err != ErrCode.Success) | ||||
| return err; | return err; | ||||
| @@ -60,27 +61,71 @@ namespace StuMgmClient | |||||
| return ErrCode.Success; | return ErrCode.Success; | ||||
| } | } | ||||
| static void StreeList() | |||||
| { | |||||
| allStreeDatas = new List<StreeDatas>(); | |||||
| StreeDatas sd=null; | |||||
| foreach (var item in allCourseStatus) | |||||
| { | |||||
| sd = new StreeDatas(); | |||||
| CourseInfo infoTwo = allCourseInfo[item.Key];//找到状态对应的课程表信息 | |||||
| sd.SecondNode = infoTwo.Pid;//二级节点9 | |||||
| CourseInfo infoOne = allCourseInfo[infoTwo.Pid]; | |||||
| CourseInfo infoThree = allCourseInfo[infoOne.Pid]; | |||||
| sd.FirstNode = infoThree.Pid; | |||||
| sd.Id = infoTwo.Id; | |||||
| sd.Name = infoTwo.Name; | |||||
| sd.Pid = infoTwo.Pid; | |||||
| sd.Statu = (int)item.Value; | |||||
| sd.Content = infoTwo.Content; | |||||
| allStreeDatas.Add(sd); | |||||
| } | |||||
| } | |||||
| static DataTable ListToDb(List<StreeDatas> list) | |||||
| //internal static void StreeList() | |||||
| //{ | |||||
| // allStreeDatas = new Dictionary<short,UserCourseDetail>(); | |||||
| // foreach (var item in allCourseStatus) | |||||
| // { | |||||
| // UserCourseDetail courseDetail = new UserCourseDetail(); | |||||
| // CourseInfo info = allCourseInfo[item.Key];//找到状态对应的课程表信息 | |||||
| // courseDetail.Id = info.Id; | |||||
| // courseDetail.Name = info.Name; | |||||
| // courseDetail.Status = (int)item.Value; | |||||
| // courseDetail.Content = info.Content; | |||||
| // allStreeDatas.Add(info.Pid,courseDetail); | |||||
| // } | |||||
| //} | |||||
| //internal static UserCourseDetail r(CourseInfo info, ref Dictionary<short, UserCourseDetail> allCourseStatus) | |||||
| //{ | |||||
| // UserCourseDetail sel; | |||||
| // if (allCourseStatus.TryGetValue(info.Id, out sel)) | |||||
| // return sel; | |||||
| // UserCourseDetail m = new UserCourseDetail(); | |||||
| // //info->m | |||||
| // allCourseStatus.Add(info.Id, m); | |||||
| // if (info.Pid != 0) | |||||
| // { | |||||
| // UserCourseDetail father = r(allCourseInfo[info.Pid], ref allCourseStatus); | |||||
| // father.Children.Add(m); | |||||
| // } | |||||
| // return m; | |||||
| //} | |||||
| //internal static void rr(UserCourseDetail u, TreeNode n) | |||||
| //{ | |||||
| // foreach(UserCourseDetail child in u.Children) | |||||
| // { | |||||
| // TreeNode node = new TreeNode(child); | |||||
| // n.add(node); | |||||
| // rr(child, node); | |||||
| // } | |||||
| //} | |||||
| //internal static void aa (List<string> keys,List<string> values) | |||||
| //{ | |||||
| // Dictionary<short, UserCourseDetail> allCourseStatus=new Dictionary<short,UserCourseDetail>(); | |||||
| // for (short i = 0; i < keys.Count; i++) | |||||
| // r(allCourseInfo[i], ref allCourseStatus); | |||||
| // List<UserCourseDetail> lst = new List<UserCourseDetail>(); | |||||
| // // | |||||
| // //TreeNode all; | |||||
| // List<TreeNode> all; | |||||
| // foreach(UserCourseDetail u in lst) | |||||
| // { | |||||
| // TreeNode n = new TreeNode(); | |||||
| // rr(u, n); | |||||
| // all.add(n); | |||||
| // } | |||||
| //} | |||||
| static DataTable ListToDb(List<CourseInfo> list) | |||||
| { | { | ||||
| DataTable dt = new DataTable(); | DataTable dt = new DataTable(); | ||||
| dt.Columns.Add("Id", typeof(int)); | dt.Columns.Add("Id", typeof(int)); | ||||
| @@ -97,18 +142,17 @@ namespace StuMgmClient | |||||
| dr[1] = list[i].Name; | dr[1] = list[i].Name; | ||||
| dr[2] = list[i].Pid; | dr[2] = list[i].Pid; | ||||
| dr[3] = list[i].Content; | dr[3] = list[i].Content; | ||||
| dr[4] = list[i].Statu; | |||||
| dr[5] = list[i].FirstNode; | |||||
| dr[6] = list[i].SecondNode; | |||||
| dt.Rows.Add(dr); | dt.Rows.Add(dr); | ||||
| } | } | ||||
| return dt; | return dt; | ||||
| } | } | ||||
| internal static DataTable StreeTable() | internal static DataTable StreeTable() | ||||
| { | { | ||||
| StreeList(); | |||||
| return ListToDb(allStreeDatas); | |||||
| return ListToDb(courseInfo); | |||||
| } | |||||
| internal static Dictionary<short, CourseStatusEnum> StreeCourseStatus() | |||||
| { | |||||
| return allCourseStatus; | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,4 +1,5 @@ | |||||
| using System; | using System; | ||||
| using System.Collections.Generic; | |||||
| @@ -70,7 +71,8 @@ namespace StuMgmLib.MyNameSpace | |||||
| [Serializable] | [Serializable] | ||||
| public enum CourseStatusEnum | public enum CourseStatusEnum | ||||
| { | { | ||||
| NoStart = 0, | |||||
| Null = 0, | |||||
| NoStart, | |||||
| Begin, | Begin, | ||||
| WaitCheckig, | WaitCheckig, | ||||
| CheckigSuccess, | CheckigSuccess, | ||||
| @@ -100,15 +102,15 @@ namespace StuMgmLib.MyNameSpace | |||||
| Object = obj; | Object = obj; | ||||
| } | } | ||||
| } | } | ||||
| public class StreeDatas | |||||
| public class UserCourseDetail | |||||
| { | { | ||||
| public int Id; | |||||
| public short Id; | |||||
| public string Name; | public string Name; | ||||
| public int Pid; | |||||
| public string Content; | public string Content; | ||||
| public int Statu; | |||||
| public int FirstNode; | |||||
| public int SecondNode; | |||||
| public int Time; | |||||
| public int Status; | |||||
| public List<UserCourseDetail> Children; | |||||
| } | } | ||||
| } | } | ||||