Announcement

Collapse
No announcement yet.

columnheader in listview

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • columnheader in listview

    hallo,

    ich habe eine listview die von einer treeview aus gefüllt wird. So nun sollen die dateien aba nicht nur einfach so angezeigt werden sondern in verschiedenen spalten: einmal der Name, das änderungsdatum und die größe der datei

    hab nur leider gerade keinen schimmer wie ich das hin bekomme

    könnt mir bestimmt helfen danke schonmal
    C# bringt mich noch um den Verstand

  • #2
    hoffe es hilft dir weiter: http://msdn.microsoft.com/en-us/libr...er(VS.71).aspx

    und drei Minuten später
    P.S.: folgende Eigemschaft im ListView-Objekt nicht vergessen zu setzen:

    Code:
    ListViewObj.View = System.Windows.Forms.View.Details;
    Zuletzt editiert von Jürgen Thomas; 15.02.2010, 14:21. Reason: 2 Beiträge kurz hintereinander ist nicht richtig.

    Comment


    • #3
      irgendwie nich

      habe mir das schon angeschaut gehabt
      die columns in die listview zu bekommen ist ja kein problem er schreibt mir auch was beim namen hin allerding immer nur 2 dateien egal wie viele im ordner enthalten sind
      weiß nich wie ich es hin bekomme das er mir dann auch noch die größe und das datum anzeigt



      ja das habe ich nicht vergessen umzustellen ;-)
      Zuletzt editiert von kattzze; 15.02.2010, 11:35.
      C# bringt mich noch um den Verstand

      Comment


      • #4
        poste bitte mal deinen code

        Comment


        • #5
          zu den colums steht nicht mehr viel weil ich gerade so einiges versucht habe ...
          hab auch iwie versucht das von msdn einzubeziehen aba klappte alles nich darum hab ich alles nochmal raus genomm und wollts nochmal versuchen ...


          Code:
          private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
                  {
          
                      try
                      {
                          //lösche Knoteninhalt
                          e.Node.Nodes.Clear();
          
                          DirectoryInfo di = new DirectoryInfo((string)e.Node.Tag);
          
          
                          foreach (DirectoryInfo dir in di.GetDirectories())
                          {
          
                              TreeNode tn1 = new TreeNode();
                              tn1.Tag = (string)dir.FullName;
                              tn1.Text = dir.Name;
                              e.Node.Nodes.Add(tn1);
          
                          }
                          // knoten expand    
                          e.Node.Expand();
          
                          // List View füllen beginnt mit 
                          // dem Leeren des vorhandenen Inhalts
                          listView1.Clear();
          
                          // Dateien holen
                          FileInfo[] files = di.GetFiles();
          
                          // 
                          foreach (FileInfo fi in files)
                          {
                              ListViewItem lvi = new ListViewItem();
                              lvi.Text = fi.Name;
                              lvi.Tag = fi;
                              listView1.Items.Add(lvi);
          
           
                              ColumnHeader ch1 = columnHeader1;
                              ColumnHeader ch2 = columnHeader2;
                              ColumnHeader ch3 = columnHeader3;
          
                              listView1.Columns.Add(ch1);
                              listView1.Columns.Add(ch2);
                              listView1.Columns.Add(ch3);
          
                    
                             }
                         }
                    
                      catch
                      {
                      }
                  }
          C# bringt mich noch um den Verstand

          Comment


          • #6
            1.) bei dir werden die Listviewitems nicht in die Liste aufgenommen, kann also gar nicht funktionieren
            2.) ColumnHeader nur einmal zu Liste hinzufügen, nicht bei jedem Schleifendurchgang

            hier ein beispielcode von mit:

            Code:
                        ColumnHeader header1 = new ColumnHeader();
                        header1.Text = "header1";
                        ColumnHeader header2 = new ColumnHeader();
                        header1.Text = "header2";
                        ColumnHeader header3 = new ColumnHeader();
                        header1.Text = "header3";
            
                        listView1.View = View.Details;
                        listView1.Columns.Add(header1);
                        listView1.Columns.Add(header2);
                        listView1.Columns.Add(header3);
            
                        DirectoryInfo di = new DirectoryInfo(@"C:\Programme\Messenger");
                        FileInfo[] files = di.GetFiles();
            
                        foreach (FileInfo info in files)
                        {
                            ListViewItem item = new ListViewItem();
                            item.Text = info.Name;
            
                            item.SubItems.Add(info.Extension);
                            item.SubItems.Add(info.LastWriteTime.ToString());
            
                            listView1.Items.Add(item);
                        }

            Comment


            • #7
              hey funktioniert :-)

              musst enur das info.extension umtauschen in info.length, da ich ja die größe wollte aba sonst perfekt danke
              C# bringt mich noch um den Verstand

              Comment

              Working...
              X