//read directorys and files private void fillTreeView(string path, TreeNode n) { try { DirectoryInfo di = new DirectoryInfo(path); foreach(DirectoryInfo d in di.GetDirectories()) { //add a node in treeview TreeNode node = new TreeNode(d.Name); if(n == null) //is root node treeView.Nodes.Add(node); //add a root node else n.Nodes.Add(node); //add a child node //add files in this path foreach(FileInfo fi in d.GetFiles()) node.Nodes.Add(fi.Name); //a circle ,this line can read all dir and files.but is a waste of system resource fillTreeView(d.FullName, node); } } catch(Exception eFTV){MessageBox.Show(eFTV.Message);} }注释很详细,应该可以看懂啊。
private void MainForm_Load(object sender, System.EventArgs e) { string strSql = "select Department.Name as DepartmentName,Employee.* from Employee,Department,Users"; strSql += "where Employee.RegName = Users.RegName"; strSql += "and Employee.DepartmentID = Department.ID"; strSql += "and Users.UserLevel < '"+this.UserLevel+"'"; string DataSetName ="Employees"; LS = new EnterpriseManager.localhost.LoginService(); DS = LS.GetData(strSql,DataSetName); foreach(DataRow row in DS.Tables["Department"].Rows) { TreeNode rootNode = new TreeNode(); rootNode.Text = row["Name"].ToString(); this.treeView1.Nodes.Add(rootNode); rootNode = new TreeNode(); }我这样写为什么会返回有关调用实时(JIT)调试而不是此对话框的详细信息, 请参阅此消息的结尾。************** 异常文本 ************** System.NullReferenceException: 未将对象引用设置到对象的实例。 at EnterpriseManager.MainForm.MainForm_Load(Object sender, EventArgs e) in c:\documents and settings\he.cl\my documents\visual studio projects\loginmanager\enterprisemanager\mainform.cs:line 127 at System.Windows.Forms.Form.OnLoad(EventArgs e) at System.Windows.Forms.Form.OnCreateControl() at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.Control.CreateControl() at System.Windows.Forms.Control.WmShowWindow(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ContainerControl.WndProc(Message& m) at System.Windows.Forms.Form.WmShowWindow(Message& m) at System.Windows.Forms.Form.WndProc(Message& m) at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
rootNode.Text=DepartmentName;
this.Tv.Nodes.add(rootNode);InitTreeView(TreeNode rootNode,DataSet ds)
{
TreeNode node=new TreeNode();
foreach(DataRow row in ds.tables["employee"].rows)
{
node.text=row["name"].tostring();
InitTreeView(node,row);
node=new TreeNode();
}
}然后你就可以使用afterselect将datagrid的数据源指定就可!你要先的到name,然后操作
{
drow=dt.Rows[r];
Microsoft.Web.UI.WebControls.TreeNode treenode;
treenode = new Microsoft.Web.UI.WebControls.TreeNode();
treenode.Text= drow["NAME"].ToString(); // 给节点绑定显示值treenode.NodeData="1"; // 给节点绑定key值
treenode.Expanded=true; // 默认根结点为展开
treenode.Target = "main";
treenode.NavigateUrl = "gzzgl.aspx?id="+drow["ID"].ToString();
TreeView1.Nodes[0].Nodes[0].Nodes.Add(treenode);
}
http://www.aspx8.com/teach/list.asp?id=262
http://www.aspx8.com/teach/list.asp?id=261这个应该就你要得咚咚。
private void fillTreeView(string path, TreeNode n)
{
try
{
DirectoryInfo di = new DirectoryInfo(path);
foreach(DirectoryInfo d in di.GetDirectories())
{
//add a node in treeview
TreeNode node = new TreeNode(d.Name);
if(n == null) //is root node
treeView.Nodes.Add(node); //add a root node
else
n.Nodes.Add(node); //add a child node
//add files in this path
foreach(FileInfo fi in d.GetFiles())
node.Nodes.Add(fi.Name);
//a circle ,this line can read all dir and files.but is a waste of system resource
fillTreeView(d.FullName, node);
}
}
catch(Exception eFTV){MessageBox.Show(eFTV.Message);}
}注释很详细,应该可以看懂啊。
{
string strSql = "select Department.Name as DepartmentName,Employee.* from Employee,Department,Users";
strSql += "where Employee.RegName = Users.RegName";
strSql += "and Employee.DepartmentID = Department.ID";
strSql += "and Users.UserLevel < '"+this.UserLevel+"'";
string DataSetName ="Employees";
LS = new EnterpriseManager.localhost.LoginService();
DS = LS.GetData(strSql,DataSetName); foreach(DataRow row in DS.Tables["Department"].Rows)
{
TreeNode rootNode = new TreeNode();
rootNode.Text = row["Name"].ToString();
this.treeView1.Nodes.Add(rootNode);
rootNode = new TreeNode();
}我这样写为什么会返回有关调用实时(JIT)调试而不是此对话框的详细信息,
请参阅此消息的结尾。************** 异常文本 **************
System.NullReferenceException: 未将对象引用设置到对象的实例。
at EnterpriseManager.MainForm.MainForm_Load(Object sender, EventArgs e) in c:\documents and settings\he.cl\my documents\visual studio projects\loginmanager\enterprisemanager\mainform.cs:line 127
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
{
drow=dt.Rows[r];
Microsoft.Web.UI.WebControls.TreeNode treenode;
treenode = new Microsoft.Web.UI.WebControls.TreeNode();
treenode.Text= drow["NAME"].ToString(); // 给节点绑定显示值treenode.NodeData="1"; // 给节点绑定key值
treenode.Expanded=true; // 默认根结点为展开
treenode.Target = "main";
treenode.NavigateUrl = "gzzgl.aspx?id="+drow["ID"].ToString();
TreeView1.Nodes[0].Nodes[0].Nodes.Add(treenode);
}
// 递归添加树的节点
public void AddTree(string ParentString,TreeNode pNode)
{
DataView dvTree = new DataView(DS.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "Name = '"+ParentString+"'";
foreach(DataRowView Row in dvTree)
{
if(pNode == null)
{ //'?添加根节点
TreeNode Node = treeView1.Nodes.Add(Row["EmployeeName"].ToString());
AddTree(Row["Name"].ToString(),Node); //再次递归
}
else
{ //添加当前节点的子节点
TreeNode Node = pNode.Nodes.Add(Row["EmployeeName"].ToString());
AddTree(Row["Name"].ToString(),Node); //再次递归
}
}
} private void MainForm_Load(object sender, System.EventArgs e)
{
string strSql = "select Department.Name,Employee.* from Department ";
strSql += " INNER JOIN Employee ON Department.ID = Employee.DepartmentID ";
strSql += " and Department.UseLevel <= '"+this.UserLevel+"'";
string DataSetName ="Employees";
LS = new EnterpriseManager.localhost.LoginService();
DS = LS.GetData(strSql,DataSetName);
if(DS.Tables["Table"].Rows.Count > 0)
{
DataRow row = DS.Tables[0].Rows[0];
TreeNode rootNode = new TreeNode();
string Caption = row["Name"].ToString();
Caption = rootNode.Text ;
AddTree(Caption,rootNode);
/*
foreach(DataRow row in DS.Tables["Table"].Rows)
{
TreeNode rootNode = new TreeNode();
rootNode.Text = row["DepartmentName"].ToString();
this.treeView1.Nodes.Add(rootNode);
rootNode = new TreeNode();
}
*/
}
}
// 递归添加树的节点
public void AddTree(string ParentString,TreeNode pNode)
{
DataView dvTree = new DataView(DS.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "Name = '"+ParentString+"'";
foreach(DataRowView Row in dvTree)
{
if(pNode == null)
{ //'?添加根节点
TreeNode Node = treeView1.Nodes.Add(Row["EmployeeName"].ToString());
AddTree(Row["Name"].ToString(),Node); //再次递归
}
else
{ //添加当前节点的子节点
TreeNode Node = pNode.Nodes.Add(Row["EmployeeName"].ToString());
AddTree(Row["Name"].ToString(),Node); //再次递归
}
}
} private void MainForm_Load(object sender, System.EventArgs e)
{
string strSql = "select Department.Name,Employee.* from Department ";
strSql += " INNER JOIN Employee ON Department.ID = Employee.DepartmentID ";
strSql += " and Department.UseLevel <= '"+this.UserLevel+"'";
string DataSetName ="Employees";
LS = new EnterpriseManager.localhost.LoginService();
DS = LS.GetData(strSql,DataSetName); if(DS.Tables["Table"].Rows.Count > 0)
{
DataRow row = DS.Tables[0].Rows[0];
TreeNode rootNode = new TreeNode();
string Caption = row["Name"].ToString();
Caption = rootNode.Text ;
AddTree(Caption,rootNode);
}
}