@@ -9,7 +9,7 @@ | |||
<AppDesignerFolder>Properties</AppDesignerFolder> | |||
<RootNamespace>StuMgmLib</RootNamespace> | |||
<AssemblyName>StuMgmClient</AssemblyName> | |||
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion> | |||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> | |||
<FileAlignment>512</FileAlignment> | |||
<TargetFrameworkProfile /> | |||
</PropertyGroup> | |||
@@ -9,10 +9,10 @@ namespace StuMgmClient | |||
int m_token; | |||
public StudentForm(short job_id, int token) | |||
{ | |||
InitializeComponent(); | |||
m_token = token; | |||
if (SystemCtrl.RefreshUserCourseInfo(job_id, token) != ErrCode.Success) | |||
throw new Exception("获取用户信息异常,请重新启动"); | |||
InitializeComponent(); | |||
} | |||
@@ -14,6 +14,8 @@ namespace StuMgmClient | |||
{ | |||
InitializeComponent(); | |||
} | |||
DataTable db = null; | |||
////个人信息 | |||
//private DataSet ds = null; | |||
//public DataSet Ds | |||
@@ -26,52 +28,51 @@ namespace StuMgmClient | |||
////dataRows转化成的table | |||
//DataTable tableClone = null; | |||
//Data da = new Data(); | |||
//private void StudentTree_Load(object sender, EventArgs e) | |||
//{ | |||
// dgvStudent.Visible = false; | |||
// BindRoot(); | |||
// //da.GetNodesDic(table); | |||
//} | |||
private void StudentTree_Load(object sender, EventArgs e) { } | |||
private void StudentTree_Load(object sender, EventArgs e) | |||
{ | |||
db = SystemCtrl.GetStreeTable(); | |||
dgvStudent.Visible = false; | |||
BindRoot(); | |||
//da.GetNodesDic(table); | |||
} | |||
////添加父节点的方法 | |||
//private void BindRoot() | |||
//{ | |||
// //ClientMysql cm = new ClientMysql(); | |||
// // DataSet ds = cm.SelectNode(); | |||
// table = Ds.Tables["course_info"]; | |||
// //把父节点的数据帅选出来 | |||
// DataRow[] rows = table.Select("pid=0");//取根 | |||
// foreach (DataRow dRow in rows) | |||
// { | |||
// TreeNode rootNode = new TreeNode(); | |||
// rootNode.Tag = dRow; | |||
// rootNode.Text = dRow["name"].ToString(); | |||
// //把此节点放入树中 | |||
// StudenTree.Nodes.Add(rootNode); | |||
// //绑定子节点 | |||
// BindChildAreas(rootNode);//调用添加子节点的方法 | |||
// } | |||
//} | |||
private void BindRoot() | |||
{ | |||
//ClientMysql cm = new ClientMysql(); | |||
// DataSet ds = cm.SelectNode(); | |||
//table = Ds.Tables["course_info"]; | |||
DataRow[] rows = db.Select("FirstNode=0");//取根 | |||
foreach (DataRow dRow in rows) | |||
{ | |||
TreeNode rootNode = new TreeNode(); | |||
rootNode.Tag = dRow; | |||
rootNode.Text = dRow["Name"].ToString(); | |||
//把此节点放入树中 | |||
StudenTree.Nodes.Add(rootNode); | |||
//绑定子节点 | |||
BindChildAreas(rootNode);//调用添加子节点的方法 | |||
} | |||
} | |||
////添加子节点的方法、递归绑定子区域 | |||
//private void BindChildAreas(TreeNode fNode) | |||
//{ | |||
// DataRow dr = (DataRow)fNode.Tag;//父节点数据关联的数据行 | |||
// int fAreaId = Convert.ToInt32(dr["id"]); //父节点ID | |||
// DataRow[] rows1 = table.Select("pid =" + fAreaId);//子区域 | |||
// if (rows1.Length == 0) //递归终止,区域不包含子区域时 | |||
// { | |||
// return; | |||
// } | |||
// foreach (DataRow dRow in rows1) | |||
// { | |||
// TreeNode node = new TreeNode(); | |||
// node.Tag = dRow; | |||
// node.Text = dRow["name"].ToString(); | |||
// //添加子节点 | |||
// fNode.Nodes.Add(node); | |||
// } | |||
//} | |||
private void BindChildAreas(TreeNode fNode) | |||
{ | |||
DataRow dr = (DataRow)fNode.Tag;//父节点数据关联的数据行 | |||
int fAreaId = Convert.ToInt32(dr["Id"]); //父节点ID | |||
DataRow[] rows1 = db.Select("SecondNode =" + fAreaId);//子区域 | |||
if (rows1.Length == 0) //递归终止,区域不包含子区域时 | |||
{ | |||
return; | |||
} | |||
foreach (DataRow dRow in rows1) | |||
{ | |||
TreeNode node = new TreeNode(); | |||
node.Tag = dRow; | |||
node.Text = dRow["Name"].ToString(); | |||
//添加子节点 | |||
fNode.Nodes.Add(node); | |||
} | |||
} | |||
////子节点单击显示内容 | |||
//private void StudentTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) | |||
private void StudentTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { } | |||
@@ -4,6 +4,7 @@ using System.Text; | |||
using StuMgmClient; | |||
using StuMgmLib.MyNameSpace; | |||
using System.Diagnostics; | |||
using System.Data; | |||
namespace StuMgmClient | |||
{ | |||
@@ -44,7 +45,7 @@ namespace StuMgmClient | |||
if (!(o.Object is List<CourseInfo>)) | |||
return ErrCode.ErrData; | |||
//courseInfo = (List<CourseInfo>)o; | |||
courseInfo = (List<CourseInfo>)o.Object; | |||
return ErrCode.Success; | |||
} | |||
@@ -85,11 +86,9 @@ namespace StuMgmClient | |||
return ErrCode.Success; | |||
} | |||
internal static DataTable GetStreeTable() | |||
{ | |||
return SystemData.StreeTable(); | |||
} | |||
} | |||
} |
@@ -2,13 +2,18 @@ | |||
using System.Collections.Generic; | |||
using System.Text; | |||
using StuMgmLib.MyNameSpace; | |||
using System.Linq; | |||
using System.Data; | |||
using System.ComponentModel; | |||
using System.Collections; | |||
using System.Reflection; | |||
namespace StuMgmClient | |||
{ | |||
class SystemData | |||
{ | |||
static Dictionary<short, CourseInfo> allCourseInfo; | |||
static Dictionary<short,CourseStatusEnum> allCourseStatus; | |||
static List<StreeDatas> allStreeDatas; | |||
internal static ErrCode InitSystemData() | |||
{ | |||
ErrCode err; | |||
@@ -25,17 +30,18 @@ namespace StuMgmClient | |||
if (err != ErrCode.Success) | |||
return err; | |||
//将List<CourseInfo>转为Dictionary<short, CourseInfo> | |||
//allCourseInfo = courseInfo.ToDictionary(key => key.Id, value => value); | |||
allCourseInfo = courseInfo.ToDictionary(key => key.Id, value => value); | |||
return ErrCode.Success; | |||
} | |||
internal static ErrCode RefreshUserCourseInfo(UserCourseInfo info) | |||
{ | |||
//将UserCourseInfo转为Dictionary<short,CourseStatusEnum> | |||
allCourseStatus = new Dictionary<short, CourseStatusEnum>(); | |||
int num = 0; | |||
short oldTem = 0; | |||
//切割字符串 | |||
string[] sArray = info.Details.Split(new char[2] { ':', ';' }); | |||
string[] sArray = info.Status.Split(new char[2] { ':', ';' }); | |||
foreach (string i in sArray) | |||
{ | |||
if (i.Equals("")) { break; } | |||
@@ -54,6 +60,55 @@ namespace StuMgmClient | |||
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) | |||
{ | |||
DataTable dt = new DataTable(); | |||
dt.Columns.Add("Id", typeof(int)); | |||
dt.Columns.Add("Name", typeof(string)); | |||
dt.Columns.Add("Pid", typeof(int)); | |||
dt.Columns.Add("Content", typeof(string)); | |||
dt.Columns.Add("Statu", typeof(int)); | |||
dt.Columns.Add("FirstNode", typeof(int)); | |||
dt.Columns.Add("SecondNode", typeof(int)); | |||
for (int i = 0; i < list.Count; i++) | |||
{ | |||
DataRow dr = dt.NewRow(); | |||
dr[0] = list[i].Id; | |||
dr[1] = list[i].Name; | |||
dr[2] = list[i].Pid; | |||
dr[3] = list[i].Content; | |||
dr[4] = list[i].Statu; | |||
dr[5] = list[i].FirstNode; | |||
dr[6] = list[i].SecondNode; | |||
dt.Rows.Add(dr); | |||
} | |||
return dt; | |||
} | |||
internal static DataTable StreeTable() | |||
{ | |||
StreeList(); | |||
return ListToDb(allStreeDatas); | |||
} | |||
} | |||
} |
@@ -1,3 +1,3 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<configuration> | |||
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> | |||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration> |
@@ -83,6 +83,7 @@ namespace StuMgmLib.MyNameSpace | |||
{ | |||
public short JobId;//工号 | |||
public string Name;//姓名 | |||
public string Status; // 课程状态 | |||
public string Details;//信息描述 | |||
} | |||
@@ -99,8 +100,15 @@ namespace StuMgmLib.MyNameSpace | |||
Object = obj; | |||
} | |||
} | |||
public class StreeDatas | |||
{ | |||
public int Id; | |||
public string Name; | |||
public int Pid; | |||
public string Content; | |||
public int Statu; | |||
public int FirstNode; | |||
public int SecondNode; | |||
} | |||
} | |||