2016-04-07 11 views
0

Im türünde yeni. Teslimat Numarasını, Tarihini ve tedarikçisini gösteren bir datagridview var. Şimdi, Yöneticinin her teslimatın ayrıntılarını başka bir forma göstermesini istiyorum. Sadece seçili satırın kimliğini nasıl alacağımı bilmek istiyorum ve o zaman seçilen kimliğin eşdeğer verilerini gösterebileceğim. Teşekkürler., datagridview dosyasından ID alır ve verileri başka bir forma metin kutularına gösterir

Teslimatlar için kodum İşte.

Private Sub dgvDeliveryReport_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvDeliveryReport.CellContentDoubleClick 
     If e.RowIndex < 0 Then Exit Sub 

     Dim id As Int32 = dgvDeliveryReport.CurrentRow.Cells(0).Value 
     Dim viewDelivery As New frmDeliveryFormReport 
     frmDeliveryFormReport.Show() 
    End Sub 
+0

Sadece kimliği diğer forma iletmek yerine, tüm satırı ona geçirebilirsiniz. Sonra istediğiniz tüm verileri gösterebilirsiniz. Sadece 'frmDeliveryFormReport' yapıcısına' DataGridViewRow' türünde bir parametre ekleyin ve 'dgvDeliveryReport.CurrentRow' iletin. –

+0

Bana nasıl çalıştığını gösterecek bir şeyin var mı? Forumlar, öğreticiler veya kodlar gibi mi? Gibi ben vb.net yeni dedim. Bu yüzden nasıl yapacağımı görselleştiremiyorum. Teşekkürler. – noob

+0

Bir cevap ekledim. Lütfen size yardımcı olup olmadığına bakın. –

cevap

0
  • Geçerli satırı saklamak için yeni bir alan eklemek Sadece bir sonraki adımla devam edin).

  • Değiştir/o DataGridViewRow parametre alır böylece kurucu ekleyin ve depolamak verilen sıra:

    Public Sub New frmDeliveryFormReport(deliveryReportRow as DataGridViewRow) 
        _currentDeliveryReportRow = deliveryReportRow 
    End Sub 
    
  • Uyum senin dgvDeliveryReport_CellContentDoubleClick mevcut yeni kurucusunu çağırmak için:

    Private Sub dgvDeliveryReport_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvDeliveryReport.CellContentDoubleClick 
        If e.RowIndex < 0 Then Exit Sub 
    
        Dim viewDelivery As New frmDeliveryFormReport(dgvDeliveryReport.CurrentRow) 
        frmDeliveryFormReport.Show() 
    End Sub 
    

Daha sonra DeliveryReportRow öğesinin tüm sütunlarına

aracılığıyla frmDeliveryFormReport adresinden erişebilirsiniz. Bu konu hakkında
_currentDeliveryReportRow.Cells(<CellIndex>) 

ek bilgiler:

Passing variables between windows forms in VS 2010

VB.Net Passing values to another form

http://www.dreamincode.net/forums/topic/332553-passing-data-between-forms/

+0

yey! Şuan çalışıyor. Teşekkürler Bay Alex B. :) – noob

0

Eğer bulamazsanız

Public Sub New frmDeliveryFormReport() 
    ... 
End Sub 

(: yapıcısı için

private _currentDeliveryReportRow as DataGridViewRow

  • bak: senin frmDeliveryFormReport sınıfta

    Dim newFrmName as new yourForm 
    
    For each row as DataGridViewRow in SampleGrid 
        if row.selected = true then 
         Dim whatValueYouWant as string = row.cells("ID").value.toString() 
         if newFrmName.NameOfTextBoxInForm.Text <> vbEmpty Then 
          'NameOfTextBoxInForm is textbox that existing in yourform 
          newFrmName.NameOfTextBoxInForm.text = ", " & whatValueYouWant 
         Else 
          newFrmName.NameOfTextBoxInForm.text = whatValueYouWant 
         End If 
        End IF 
    Next 
    
    newFrmName.Show() 
    
  • +0

    Sör Jsun, yukarıdaki SampleGrid nedir? – noob

    +0

    bir DataGridView – JSun

    İlgili konular