2017-09-17 68 views
0

嘿傢伙我想使用另一種形式的datagridview做一個自動填充,但問題是我不能使價值回到以前的形式它只是不斷創建一個新的形式。它的工作原理能源部的數據被轉移,但在另一個新的形式,請幫助使用vb.net中另一種形式的datagridview自動填充

Dim form As New FormLibrarianMain 

    If e.RowIndex >= 0 Then 
     Dim row As DataGridViewRow 
     row = Me.DataGridView1.Rows(e.RowIndex) 

     form.Labelid.Text = DataGridView1.CurrentRow.Cells(0).Value.ToString() 
     form.Labelfirstname.Text = DataGridView1.CurrentRow.Cells(1).Value.ToString() 
     form.Labelmiddlename.Text = DataGridView1.CurrentRow.Cells(2).Value.ToString() 
     form.Labellastname.Text = DataGridView1.CurrentRow.Cells(3).Value.ToString() 
     form.Labelgender.Text = DataGridView1.CurrentRow.Cells(4).Value.ToString() 
     form.Labeladdress.Text = DataGridView1.CurrentRow.Cells(5).Value.ToString() 
     form.Labelcity.Text = DataGridView1.CurrentRow.Cells(6).Value.ToString() 
     form.Labelpostcode.Text = DataGridView1.CurrentRow.Cells(7).Value.ToString() 
     form.Labelemail.Text = DataGridView1.CurrentRow.Cells(8).Value.ToString() 
     form.Labeldob.Text = DataGridView1.CurrentRow.Cells(9).Value.ToString() 

     form.Labeltype.Text = DataGridView1.CurrentRow.Cells(10).Value.ToString() 


     form.ShowDialog() 
     Me.Hide() 







    End If 

End Sub 
+0

你的問題是不是很清楚。你的表單是否繼續創建表單?或者您在填寫datagridview時遇到問題? – kiLLua

+0

「不斷創造形式!」 – UNKNOWN

+0

請發表你的完整'Sub',然後,如何調用它。 – kiLLua

回答

0

如果你想從一個Form數據傳遞給其他Form。你可以創建一個public變量存儲values

Class Form2 
    public values as New ArrayList 

    Private Sub FormLoad(..) 
    if values.Count >= 0 then 
     TextBox1.Text = values(1) 
     TextBox2.Text = values(2) 
    End If 
    End Sub 
End Class 

Form1中:

If e.RowIndex >= 0 Then 
    Dim row As DataGridViewRow 
    row = Me.DataGridView1.Rows(e.RowIndex) 

    With Form2 
     .values = New ArrayList 
     .values(0) = DataGridView1.CurrentRow.Cells(0).Value.ToString() 
     .values(1) = DataGridView1.CurrentRow.Cells(1).Value.ToString() 
     .values(2) = DataGridView1.CurrentRow.Cells(2).Value.ToString() 
     .values(3) = DataGridView1.CurrentRow.Cells(3).Value.ToString() 
     ' etc' 
     .ShowDialog() 
    End With 
    Me.Hide() 
End If 
0

你需要出您所呼叫的形式的全球varable表單對象,從新形式。添加像這樣到全局變量

private LibrarianFormLoaded as boolean = false 

然後在子

sub IJustClickedSomething (sender As Object, e As EventArgs) 

if LibrarianFormLoaded = false then form = New FormLibrarianMain : LibrarianFormLoaded=true 

    If e.RowIndex >= 0 Then 
     Dim row As DataGridViewRow 
     row = Me.DataGridView1.Rows(e.RowIndex) 

     form.Labelid.Text = DataGridView1.CurrentRow.Cells(0).Value.ToString() 
     form.Labelfirstname.Text = DataGridView1.CurrentRow.Cells(1).Value.ToString() 
     form.Labelmiddlename.Text = DataGridView1.CurrentRow.Cells(2).Value.ToString() 
     form.Labellastname.Text = DataGridView1.CurrentRow.Cells(3).Value.ToString() 
     form.Labelgender.Text = DataGridView1.CurrentRow.Cells(4).Value.ToString() 
     form.Labeladdress.Text = DataGridView1.CurrentRow.Cells(5).Value.ToString() 
     form.Labelcity.Text = DataGridView1.CurrentRow.Cells(6).Value.ToString() 
     form.Labelpostcode.Text = DataGridView1.CurrentRow.Cells(7).Value.ToString() 
     form.Labelemail.Text = DataGridView1.CurrentRow.Cells(8).Value.ToString() 
     form.Labeldob.Text = DataGridView1.CurrentRow.Cells(9).Value.ToString() 

     form.Labeltype.Text = DataGridView1.CurrentRow.Cells(10).Value.ToString() 


     form.ShowDialog() 
     Me.Hide() 







    End If 

然後,如果形式是真正卸載,然後添加以下代碼來獲取表單重新加載

LibrarianFormLoaded = false 

如果您隱藏圖書管理員表單而不是處理它,那麼您可以閱讀控件的所有值,因爲表單不可見。

0

感謝您的答案但我已經修復它,這只是一個錯誤,抱歉的混淆問題。我忘了給u人最重要的代碼雖然

昏暗的形式,新的Formsomething

以及這是一個錯誤..我只是實際的形式取代任何形式的,它只是工作fine..i'm在編碼初學者,所以我很抱歉,我的錯誤,但仍然謝謝你的答案

相關問題