110,500
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace JMOA
{
public partial class dmclass : Form
{
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=12345;database=JMOA");
SqlDataAdapter dtd;
DataSet ds;
DataView dv;//表示用于排序、筛选、搜索、编辑和导航的System.Data.DataTable+的可绑定数据的自定义视图
//private TreeNode Node;
public dmclass()
{
InitializeComponent();
}
//自定义方法
private void GetData(int pid, TreeNode pnode)
{
dv = ds.Tables[0].DefaultView;//获取可能包括筛选视图或游标位置的表的自定义视图
dv.RowFilter = "pid=" + pid;
int dvC = dv.Count;
if (pnode == null)
{
int i = 0;
while (i < dvC)
{
dv = ds.Tables[0].DefaultView;
dv.RowFilter = "pid=" + pid;
TreeNode node = new TreeNode();
node.Text = dv[i]["name"].ToString();
node.Tag = int.Parse(dv[i]["id"].ToString());
this.treeView1.Nodes.Add(node);
GetData((int)node.Tag, node);
i++;
}
}
else
{
int i = 0;
while (i < dvC)
{
dv = ds.Tables[0].DefaultView;
dv.RowFilter = "pid=" + pid;
TreeNode node = new TreeNode();
node.Text = dv[i]["name"].ToString();
node.Tag = int.Parse(dv[i]["id"].ToString());
pnode.Nodes.Add(node);
GetData(int.Parse(dv[i]["id"].ToString()), node);
i++;
}
}
}
//注意事项
//1.RowFilter查询,如果是字符串许加单引号
//2. node.Tag = dv[i]["id"].ToString();
/// <summary>
/// 绑定TreeView
/// </summary>
/// <param name="pid">父节点ID</param>
/// <param name="pnode">当前父节点</param>
private void dmclass_FormClosing(object sender, FormClosingEventArgs e)
{
fmain.f1 = null;
}
private void dmclass_Load(object sender, EventArgs e)
{
dtd = new SqlDataAdapter("select * from [class] order by id", conn);
ds = new DataSet();
dtd.Fill(ds, "class");
GetData(0, null);
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
SqlConnection conn = new SqlConnection("server=localhost;uid=sa;pwd=12345;database=JMOA");
conn.Open();
string sqls = "select name as 物料名称,classdm as 物料代码 from class where name='" + treeView1.SelectedNode.Text + "'";
SqlDataAdapter adp = new SqlDataAdapter(sqls, conn);
DataSet dt = new DataSet();
adp.Fill(dt, "class");
conn.Close();
dataGridView1.DataSource = dt.Tables[0];
}
}
}