Entwickler-Ecke

Sonstiges (.NET) - nur HTML Files in Treeview anzeigen


SSC streezer - Di 01.07.08 10:35
Titel: nur HTML Files in Treeview anzeigen
Hallo leute,

hab eine kleine frage - wie zeige ich in einem treeview nur die HTML Files an (natürlich die Ordner auch)?

kurz, knapp, knapper, streezer xD


gruss,
streezer


Christian S. - Di 01.07.08 10:53
Titel: Re: nur HTML Files in Treeview anzeigen
user profile iconSSC streezer hat folgendes geschrieben:
hab eine kleine frage - wie zeige ich in einem treeview nur die HTML Files an (natürlich die Ordner auch)?

Wie zeigst Du denn bisher Dateien an? Wie sieht Dein Quellcode aus? Was hast Du bisher versucht? Woran scheitert es?

user profile iconSSC streezer hat folgendes geschrieben:
kurz, knapp, knapper, streezer xD

Zu knapp. Wenn Du Dir wenig Mühe machst, dann motiviert das auch die Helfer nicht.


SSC streezer - Di 01.07.08 10:57

ok gut - ich dachte mir kurze post werden eher gelesen als ellenlange ;)

also mein treeview macht folgendes:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
 public void ErstelleDirTreeviewDir(string directoryValue, TreeNode parentNode)
        {
            string[] directoryArray = Directory.GetDirectories(directoryValue);

            try
            {
                foreach (string directory in directoryArray)
                {
                    substringDirectory = directory.Substring(
                    directory.LastIndexOf('\\') + 1,
                    directory.Length - directory.LastIndexOf('\\') - 1);

                    TreeNode localNode = new TreeNode(substringDirectory);

                    parentNode.Nodes.Add(localNode);
                    ErstelleDirTreeviewDir(directory, localNode); 
                }

                string[] firstFileArray = Directory.GetFiles(directoryValue);

                foreach (string file in firstFileArray)
                {
                    substringFile = file.Substring(
                    file.LastIndexOf('\\') + 1,
                    file.Length - file.LastIndexOf('\\') - 1);

                    TreeNode fileNode = new TreeNode(substringFile);

                    fileNode.SelectedImageIndex = 1//ausgewählter Node mit dem Bild Index 1
                    fileNode.ImageIndex = 1;    //Alle File Nodes erhalten den Bild Index 1
                    parentNode.Nodes.Add(fileNode);

                    fileNode.Tag = fileNode.Text;
                }
            }
            catch (UnauthorizedAccessException)
            {
                parentNode.Nodes.Add("Zugriff verweigert");
            }
        }


nun - es werden so (mit diesem code) alle files angezeigt. nun muss ich es hinkriegen dass nur files mit der endung .htm oder .html angezeigt werden...


Kha - Di 01.07.08 11:00

Deinen Substring-Code kannst du durch Path.GetFileName ersetzen. Möglicherweise bemerkst du dabei eine andere Methode von Path, die dir beim Html-Filtern behilflich sein könnte ;) .


SSC streezer - Di 01.07.08 11:06

ahaaaaaaaaaaaaa :P vielen dank ! getExtension rockt xD


SSC streezer - Do 03.07.08 08:15

s gäbe auch noch eine andere, nicht so saubere aber für mich logischere lösung:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
TreeNode fileNode = new TreeNode(substringFile);
                    string dateityp = Path.GetExtension(substringFile); // findet heraus welchen dateityp die datei hat

                    fileNode.SelectedImageIndex = 1//ausgewählter Node mit dem Bild Index 1
                    fileNode.ImageIndex = 1;    //Alle File Nodes erhalten den Bild Index 1


                    if (dateityp == ".html")
                    {
                        parentNode.Nodes.Add(fileNode);
                    }
                    else if (dateityp == ".htm")
                    {
                        parentNode.Nodes.Add(fileNode);
                    }