@@ -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; | |||||
} | } | ||||
} | } | ||||