我試圖打開一個我已經通過單擊它添加到我的 TreeView 控制元件的檔案,它應該出現在 DataGridView 控制元件中,當我這樣做時,它會顯示下一個錯誤:
System.InvalidCastException: '從字串 "Book1.csv" 到型別 'Integer' 的轉換無效。'
在Direccion變數中,我不太確定,它發生了什么。有沒有人可以給我指點迷津?請。
Public Sub TV_NodeMouseDoubleClick(ByVal sender As Object, ByVal e As
TreeNodeMouseClickEventArgs) Handles TV.NodeMouseDoubleClick
Dim NombreNodo As String = TV.SelectedNode.Text
Dim parseCSV As String
Dim tstSeq() As String
Dim Direccion As String = My.Computer.FileSystem.CurrentDirectory(NombreNodo)
'Dim x As String = Path.GetFullPath(NombreNodo)
'MessageBox.Show(Direccion)
tstSeqDataGrid.Rows.Clear()
Using FileSystem As FileStream = File.Open(Direccion, FileMode.Open, FileAccess.Read)
Dim TestReader As New System.IO.StreamReader(FileSystem)
Do While TestReader.Peek <> -1
parseCSV = TestReader.ReadLine()
tstSeq = parseCSV.Split(",")
tstSeqDataGrid.Rows.Add(tstSeq)
TstSequenceLoaded = True
Loop
TestReader.Close()
FileSystem.Close()
End Using
End Sub
uj5u.com熱心網友回復:
我假設TreeView加載了檔案名,并且這些檔案位于代碼運行的目錄中。您可以Direccion在立即視窗中看到 的值。使用Debug.Print而不是訊息框可以讓您免于忘記洗掉生產代碼中的訊息框的尷尬。將Debug.Print只會被洗掉。
我回傳了檔案中的一組行ReadAllLines。然后像你一樣回圈遍歷這些行。
使用 Option Strict On(應該如此),您需要在c后面添加小寫字母,","以便編譯器知道您打算將其作為Charnot a String。
Public Sub TV_NodeMouseDoubleClick(sender As Object, e As TreeNodeMouseClickEventArgs) Handles TV.NodeMouseDoubleClick
Dim Direccion = My.Computer.FileSystem.CurrentDirectory & TV.SelectedNode.Text
Debug.Print(Direccion)
tstSeqDataGrid.Rows.Clear()
Dim lines = File.ReadAllLines(Direccion)
For Each line In lines
Dim tstSeq = line.Split(","c)
tstSeqDataGrid.Rows.Add(tstSeq)
Next
TstSequenceLoaded = True
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/353633.html
標籤:网络
上一篇:路徑中的非法字符(閱讀說明)
下一篇:防止共享哈希表中的資料競爭
