2016-01-18 3 views
0

Я получаю мочи от VB .Net программирования (всего новичка). У меня есть DataGridView с другой информацией, путь к файлу, где хранится конкретный документ. Я добавил DataGridViewButtonColumn в DataGridView, но я не могу понять, как получить кнопку, чтобы открыть файл.Openfile в событии

К сожалению, у меня нет кода, который будет служить отправной точкой для тех случаев, когда я застрял.

Спасибо заранее,

+0

Ваш вопрос не хватает деталей. Является ли путь к файлу в определенном столбце? Есть несколько строк с разными путями? Пожалуйста, покажите, как вы создаете DataGridView с вашими данными ... – Codexer

+0

Приношу извинения Codexer. Да, путь к файлу находится в определенном столбце. Он называется InvoiceFileLocation. В отношении вашего второго вопроса да, есть несколько строк с разными путями. Спасибо, что ответили на мой вопрос. – Basil

+0

Есть много tuts/hits при выполнении поиска в Google. Вы пробовали кого-нибудь из них? – Codexer

ответ

0

К сожалению, я не читал пост достаточно четкий в первый раз, и не объяснил мой код достаточно, чтобы он был удален. Это использует событие contentclick.

Dim Filetext As String = "" 'At start of the class to make it available to the whole class 

Private Sub DataGridView1_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick 
Dim FilePathColumn As Integer = 0 'File path is in Column 0 
Dim ButtonColumn As Integer = 1 'Column buttons are in 
Dim RowClicked As Integer = e.RowIndex 'This gets the row that you clicked the button in 

If e.ColumnIndex = ButtonColumn Then 'Make sure you clicked a button 
    Dim FILE_PATH As String = DataGridView1.Rows(RowClicked).Cells(FilePathColumn).ToString 'Get the path to the file 
    If System.IO.File.Exists(FILE_PATH) Then 'Make sure file exists 
     Filetext = System.IO.File.ReadAllText(FILE_PATH) 'Save file to a variable 

     'OR 

     Process.Start(FILE_PATH) 'To open it 
    End If 
End If 
End Sub 

Вы можете избавиться от большинства из этих линий, но я написал это так, чтобы объяснить, как он работал