读出系统表结构,左边生成树型表目录结构,右边生成同步字段信息;左边TreeView控件(树目录)做鼠标单击(键盘光标)事件,当selected位置发生改变时,进行循环判定,右边的字段显示窗口根据 sr_BuiltItem.SetId 进行相应的筛选(select description from sr_SourceItem where SetId = “TreeView_Selectedsr_Builtcollect_Description”);右边同步字段显示框中,做鼠标双击事件进行选取操作,已选取的字段可以通过不同颜色或者在字段前加上 “” 符号标识,根据TreeView数组的排序定位到 “sr_BuiltItem”表中的 “TypeId”,“SetId”。
我自己编的一部份去节点的代码:
private void ShowFrom()
{
treeView1.Nodes.Clear();
foreach(DataRow dr in ds.Tables[0].Select(""))
{
TreeNode newNode = new TreeNode(dr["Description"].ToString());
treeView1.Nodes.Add(newNode);
foreach(DataRow dr1 in ds.Tables[1].Select(""))
{
TreeNode newNode1= new TreeNode(dr1["Description"].ToString());
treeView1.TopNode.Nodes.Add(newNode1);
}
}
treeView1.Select();
}
可惜子节点循环太多了,希望高手指教。如果能实现其他的内容可以提高到100分。
我自己编的一部份去节点的代码:
private void ShowFrom()
{
treeView1.Nodes.Clear();
foreach(DataRow dr in ds.Tables[0].Select(""))
{
TreeNode newNode = new TreeNode(dr["Description"].ToString());
treeView1.Nodes.Add(newNode);
foreach(DataRow dr1 in ds.Tables[1].Select(""))
{
TreeNode newNode1= new TreeNode(dr1["Description"].ToString());
treeView1.TopNode.Nodes.Add(newNode1);
}
}
treeView1.Select();
}
可惜子节点循环太多了,希望高手指教。如果能实现其他的内容可以提高到100分。
{
TreeNode node=new TreeNode("学生信息");
SqlConnection con=new SqlConnection("server=.;uid=sa;pwd=sa;database=test");
con.Open();
SqlCommand cmd=new SqlCommand("select * from stu",con); IDataReader reader=cmd.ExecuteReader(); if(reader != null);
{
while(reader.Read())
{
///treeview
TreeNode tn=new TreeNode();
string str=reader.GetInt32(0).ToString();
str +=reader.GetString(1);
tn.Text=str;
node.Nodes.Add(tn);
}
}
this.treeView1.Nodes.Add(node);
}