Ich versuche, ein Suchfenster zu entwickeln, das es einem Benutzer ermöglicht, Kriterien einzugeben, und dann auf die Suchschaltfläche zu klicken. Wenn auf die Schaltfläche Suchen geklickt wird, werden die Ergebnisse in einer DataGridView
zurückgegeben. Wenn ein Ergebnis in DataGridView
geklickt wird, möchte ich die Zeilennummer an ein anderes Formular übergeben, das bereits geöffnet ist.VB.Net datagridview-Zeile von einem Formular an ein anderes Formular übergeben, das bereits geöffnet ist
Ich verstehe, ich kann das Ergebnis übergeben, indem Sie eine neue Instanz des Formulars erstellen. Ich gehe Variablen zu meinem Suchfenster mit folgenden Methode:
Private Sub SearchButton_Click(sender As Object, e As EventArgs) Handles SearchButton.Click
Dim ST = New Search_Tool(DGV_Ongoing.DataSource, AgencyOptions, EthnicityOptions, EmploymentTypeOptions, EmploymentStatusOptions,
CategoryOptions, OutcomeOptions)
ST.Show()
End Sub
aber ich nicht die Form nennen kann ich den Zeilenwert übergeben will, weil es bereits geöffnet ist (es ist die Hauptform). Gibt es einen Weg, damit umzugehen? Ich habe Mühe, irgendwelche Informationen zu finden, die nicht das Formular aufrufen, um es zu öffnen, während die Daten weitergegeben werden.
Ich kann Main_form.Main_DGV.CurrentCell
nicht verweisen, da Visual Studio angibt, dass es eine Objektreferenz erfordert, um dies zu tun.
Vielen Dank im Voraus!
Sie könnten eine Eigenschaft auf dem Suchformular verfügbar machen, um die Antwort abzurufen. Ihr ST-Objekt muss möglicherweise nicht lokal sein. Anstatt ein visuelles Objekt zurückzugeben, sollten Sie auch etwas wie eine ID oder ein Array von IDs zurückgeben. – Plutonix
Werfen Sie einen Blick auf [diesen Beitrag] (http://Stackoverflow.com/a/38769212/3110834) für einige gute Optionen. –
Aus Sicht des Benutzers: Wäre es nicht einfacher, am selben Ort zu suchen, an dem die Daten angezeigt werden? Also Filter direkt über dem Gitter setzen zu können? –