Super,
viiiiielen Dank, Manfred!
Das Dgv ist ja eine eierlegende Wollmilchsau
Damit geht viel mehr, als in den LVs.
Da muss ich mich echt in dessen Benutzung einlesen - Habe dieses Kapitel im Buch bisher immer überblättert.
Ich quäle mich gerade mit der Einbindung Deines verlinkten APis-Scripts in Dein Script.
Im Moment funktioniert das Einlesen, nur, dass beim Verzeichniswechsel die neuen Fileeinträge unten an die vom alten Verzeichnis noch eingetragenen Fileeinträge angehängt werden.
Private Function CreateFilesAndFolders()
Dim verzeichnisListe As New List(Of String)
Dim DateiListe As New List(Of String)
Dim fileDetail As IO.FileInfo
dtFiles = New DataTable : dtFolders = New DataTable
'Tabellenspalten erstellen
With dtFolders
.TableName = "folders"
.Columns.Add("ID", GetType(Integer))
.Columns.Add("Subfolder", GetType(String))
End With
With dtFiles
.TableName = "files"
.Columns.Add("ID", GetType(Integer))
.Columns.Add("FolderID", GetType(Integer))
.Columns.Add("Filename", GetType(String))
.Columns.Add("FileExtension", GetType(String))
.Columns.Add("FileLastAccessTime", GetType(Date))
.Columns.Add("FileLastWriteTime", GetType(Date))
.Columns.Add("FileCreationTime", GetType(Date))
End With
'Filesystem-Daten in die Tabellen einlesen
Dim folderid, fileid As Integer, subfolder As String
'verzeichnisListe
FindAllDirs(My.Settings.HauptPfad, "*.*", verzeichnisListe)
For Each verzeichnis As String In verzeichnisListe
folderid += 1
subfolder = verzeichnis.Replace(My.Settings.HauptPfad, "").Replace( _
"\", "")
dtFolders.Rows.Add(folderid, subfolder)
' DateiListe
FindAllFiles(verzeichnis, "*.*", DateiListe)
For Each datei As String In DateiListe
fileDetail = My.Computer.FileSystem.GetFileInfo(datei)
fileid += 1
dtFiles.Rows.Add(fileid, folderid, _
IO.Path.GetFileNameWithoutExtension(datei), _
IO.Path.GetExtension(datei), fileDetail.LastAccessTime, _
fileDetail.LastWriteTime, fileDetail.CreationTime)
Next
Next
'Dataset zusammenstellen
dsFoldersFiles = New DataSet
With dsFoldersFiles.Tables
.Add(dtFolders)
.Add(dtFiles)
End With
'Datarelation für Master->Child
Dim pc As DataColumn = dtFolders.Columns("ID")
Dim cc As DataColumn = dtFiles.Columns("FolderID")
dsFoldersFiles.Relations.Add("FoldersFiles", pc, cc)
'Parent-Child-Koordination
bsFolders.DataSource = dsFoldersFiles
bsFolders.DataMember = "Folders"
bsFiles.DataMember = "FoldersFiles"
bsFiles.DataSource = bsFolders
'nach Belieben .....
dgv_Folders.Columns("ID").Visible = False
dgv_Files.Columns("ID").Visible = False
dgv_Files.Columns("FolderID").Visible = False
End Function Ich möchte den User mittels Popupmenu erlauben, die einzelnen Folder und Files umzubenennen.
Dazu möchte ich dann den entsprechenden Spalteneintrag mit readonly=false freigeben. |