using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsApplication9
{
public partial class MainForm : Form
{
string username = "";//用户名
string pwd="";//密码
private DataTable dt;//用来定义nodetree
DataBase.DataConnection dataconn = new WindowsApplication9.DataBase.DataConnection();
public MainForm()
{
InitializeComponent();
}
public MainForm(string username, string pwd)
{
this.username = username;
this.pwd = pwd;
InitialDateTable();
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
username_txt.Text = "用户名:"+username+"登录时间:"+DateTime.Now.ToLongDateString();
BindRoot();
}
private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
{
LoginForm log = new LoginForm();
log.Show();
}
//初始化树形图
public void InitialDateTable()
{
string sql_str = "select * from XF_Channels";
SqlConnection conn=dataconn.GetData();
SqlCommand cmd = new SqlCommand(sql_str,conn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
dt = new DataTable();
da.Fill(dt);
}
int image_int = 1;
private void BindRoot()
{
//treeView1.Nodes.Clear();
////填充treeview
//treeView1.Nodes.Add(" 信息数据库");
//绑定根节点
DataRow[] rows = dt.Select("BelongToWho=0");//取根
foreach (DataRow dRow in rows)
{
TreeNode rootNode = new TreeNode("mm", 8, 0);
rootNode.Tag = dRow;
rootNode.Text = dRow["ChannelName"].ToString();
treeView1.Nodes.Add(rootNode);
--image_int;
BindChildAreas(rootNode);
}
}
//递归绑定子区域
private void BindChildAreas(TreeNode fNode)
{
DataRow dr = (DataRow)fNode.Tag;//父节点数据关联的数据行
int fAreaId = (int)dr["ChannelID"]; //父节点ID
DataRow[] rows = dt.Select("BelongToWho=" + fAreaId);//子区域
image_int++;
if (rows.Length == 0) //递归终止,区域不包含子区域时
{
return;
}
foreach (DataRow dRow in rows)
{
TreeNode node = new TreeNode("mm", image_int, 0);
node.Tag = dRow;
node.Text = dRow["ChannelName"].ToString();
//添加子节点
fNode.Nodes.Add(node);
//递归
BindChildAreas(node);
node = new TreeNode("mm", --image_int, 0);
}
}
}
}