通过写程序呀
单击节点触发的事件(AfterSelect)里
给你个简单的例子
//根据选中的节点查询日志
private void treeView_Log_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
if (e.Node.Text != "系统日志")
{
try
{
string sqlString;
sqlString = "select * from table_log where datepart(yy,now_time) = datepart(yy,'"+e.Node.Tag+"') and datepart(mm,now_time) = datepart(mm,'"+e.Node.Tag+"')";
DataService.Cwys_Service cwService = new DataService.Cwys_Service();
DataSet listDataSet = new DataSet();
listDataSet = cwService.GetSQLData(sqlString);

listView_Log.BeginUpdate();
listView_Log.Items.Clear(); foreach(DataRow listRow in listDataSet.Tables[0].Rows )
{
listView_Log.SmallImageList = imageList_Main;
ListViewItem timeItem = new ListViewItem(listRow["data_object"].ToString()); if (listRow["Error"].ToString() == "False")
{
timeItem.ImageIndex = 10;
}
else
{
timeItem.ImageIndex = 9;
}
timeItem.SubItems.Add(listRow["now_time"].ToString());
timeItem.SubItems.Add(listRow["message"].ToString());
listView_Log.Items.Add(timeItem); }
listView_Log.EndUpdate();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString(),"警告",MessageBoxButtons.OK,MessageBoxIcon.Warning);
} }
}

解决方案 »

  1.   

    ListView listView1;
    TreeView tree;
    private void Form1_Load(object sender, EventArgs e)
    {
      Text = "Simple Tree View";  tree.Nodes.Add("Animal");
      tree.Nodes[0].Nodes.Add("Dog");
      tree.Nodes[0].Nodes[0].Nodes.Add("Poodle");
      tree.Nodes[0].Nodes[0].Nodes.Add("Irish Setter");
      tree.Nodes[0].Nodes[0].Nodes.Add("German Shepherd");
      tree.Nodes[0].Nodes.Add("Cat");
      tree.Nodes[0].Nodes[1].Nodes.Add("Calico");
      tree.Nodes[0].Nodes[1].Nodes.Add("Siamese");
      tree.Nodes[0].Nodes.Add("Primate");
      tree.Nodes[0].Nodes[2].Nodes.Add("Chimpanzee");
      tree.Nodes[0].Nodes[2].Nodes.Add("Ape");
      tree.Nodes[0].Nodes[2].Nodes.Add("Human");
      tree.Nodes.Add("Mineral");
      tree.Nodes[1].Nodes.Add("Calcium");
      tree.Nodes[1].Nodes.Add("Zinc");
      tree.Nodes[1].Nodes.Add("Iron");
      tree.Nodes.Add("Vegetable");
      tree.Nodes[2].Nodes.Add("Carrot");
      tree.Nodes[2].Nodes.Add("Asparagus");
      tree.Nodes[2].Nodes.Add("Broccoli");
    }private void tree_AfterSelect(object sender, TreeViewEventArgs e)
    {
      //先清理listView1中的Items
      listView1.Clear();
      //遍历你选中的节点的所有子节点
      foreach(TreeNode tn in tree.SelectedNode.Nodes)
        //逐个添加到listView1中
        listView1.Items.Add(tn.Text);
    }你说不显示在treeView1中我真的搞不懂你想干什么?
    如果你点击了加号或双击的话,一般是会展开的。
      

  2.   

    谢谢你这么热心,这样帮助我,不过你今天给我的好像和昨天是一样的呀!我得目的是么在treeview中不显示象carrot,asparagus的结点,而显示在listview中!
      

  3.   

    象sqlserver中,展开节点到tables 的时候就不会再展开,而是把表显示再有变得listview中!
      

  4.   

    private string GetLogicalPath(TreeNode tn)
    {
      // 取得该节点在树中的路径
      string strPath = tn.FullPath;
      // 取得该路径中最后一个':'字符的Index
      int idx = strPath.LastIndexOf(':');
      // 返回物理地址
      return strPath.Substring(idx - 1);
    }// 初始化节点目录的子目录
    void AddDirs(TreeNode tn)
    {
      tn.Nodes.Clear();  // 取得当前目录节点的物理地址
      DirectoryInfo dirinfo = new DirectoryInfo(GetLogicalPath(tn));  DirectoryInfo[] adirinfo;  try
      {
        if(tn.Text == "A:\\")return;
        adirinfo = dirinfo.GetDirectories();
      }
      catch{return;}  foreach(DirectoryInfo di in adirinfo)
      {
        TreeNode tnDir = new TreeNode(di.Name,2,3);
        tn.Nodes.Add(tnDir);
      }
    }public void AddFiles(TreeNode tn)
    {
      if(tn.Text == "我的电脑")return;  listView1.Items.Clear();  // 取得当前目录节点的物理地址
      DirectoryInfo dirinfo = new DirectoryInfo(GetLogicalPath(tn));
      // 保存被选定的目录的路径
      strSelDirPath = dirinfo.FullName;
      // 定义一个文件信息数组
      FileInfo[] afileinfo;
      try
      {// 取得该路径下所有文件名
        afileinfo = dirinfo.GetFiles();
      }
      catch{return;}  MyList.Images.Clear();
      int i = 0;
      foreach(FileInfo fileinfo in afileinfo)
      {
        // 运行时允许运行其他程序
        Application.DoEvents();
        try
        {
          // 读取图片
          Image MyImage = Image.FromFile(fileinfo.FullName);
          // 将图片增加到列表中
          MyList.Images.Add(MyImage);
          // 增加图片对象
          listView1.Items.Add(fileinfo.Name,i);
          i++;      // 在选中目录改变时跳出循环
          if(tn != tnSelected) break;
        }
        catch
        {// 遇到不是图片文件就处理下一个文件
          continue;
        }
      }
    }private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
    {
        tnSelected = treeView1.SelectedNode;
        AddFiles(treeView1.SelectedNode);
    }//以上代码是我最近编的一个看图软件里抄下来的
    //代码的功能是当选中一个节点时,向listview里
    //添加图片Items
    //我能帮你的就这么多了,代码不明白可以问:)