vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Auswahl aus Form1 mit DataGrid in Form2 
Autor: Manfred X
Datum: 24.08.14 17:43

Vielleicht so (eine explizite Datenübertragung):

Das untergeordnete Formular ....
Public Class frmKasseSub
 
    Dim dt As New DataTable
    Dim bs As New BindingSource
 
    Dim txtProdukt As New TextBox With {.Parent = Me, .Width = 200}
    Dim txtPreis As New TextBox With {.Parent = Me, .Width = 200, .Left = 210}
 
    Public WriteOnly Property spalten() As DataColumn()
        'Übergabe der Spalten
        Set(value As DataColumn())
            dt.Clear()
            dt.Columns.Clear()
            For i As Integer = 0 To value.Length - 1
                dt.Columns.Add(value(i).ColumnName, value(i).DataType)
            Next i
 
            'Datenbindung
            bs.DataSource = dt
            txtProdukt.DataBindings.Add("Text", bs, value(0).ColumnName)
            txtPreis.DataBindings.Add("Text", bs, value(1).ColumnName)
        End Set
    End Property
 
 
    Public WriteOnly Property RowToAdd() As DataRow
        'Übergabe einer Datenzeile
        Set(value As DataRow)
            Dim nr As DataRow = dt.NewRow
            For i As Integer = 0 To dt.Columns.Count - 1
                nr(i) = value(i)
            Next i
            dt.Rows.Add(nr)
            bs.ResetBindings(False)
            bs.Position = bs.Count - 1
        End Set
    End Property
 
End Class
 
 
'Das Hauptformular ...
Public Class frmKasseMain
 
    Dim frmSub As New frmKasseSub 'unterg. Formular
 
    Dim dt As New DataTable
    Dim bs As New BindingSource
 
    Dim WithEvents btn As New Button _
         With {.Parent = Me, .Text = "... in Liste"}
 
    Private Sub frmKasseMain_Load(sender As System.Object, _
        e As System.EventArgs) Handles MyBase.Load
 
        'Testdaten
        dt.Columns.Add("Produkt", GetType(String))
        dt.Columns.Add("Preis", GetType(Decimal))
 
        With dt.Rows
            .Add("Tür", 1245.5)
            .Add("Fenster", 745.29)
            .Add("Vorhang", 121.75)
        End With
 
        Dim dc(dt.Columns.Count - 1) As DataColumn
        dt.Columns.CopyTo(dc, 0)
 
        'Spaltenübergabe 
        frmSub.spalten = dc
        frmSub.Visible = True
 
    End Sub
 
 
    Private Sub btn_Click(sender As Object, _
         e As System.EventArgs) Handles btn.Click
 
        Dim number As Integer
        Dim react As String = InputBox _
          ("Datensatznummer angeben (1-" & dt.Rows.Count.ToString & ")")
        If Not Integer.TryParse(react, number) OrElse _
            (number < 1 Or number > dt.Rows.Count) Then
            MsgBox("Falsche eingabe") : Exit Sub
        End If
 
        'Datensatz ins untergeordnete Formular (dort anhängen)
        frmSub.RowToAdd = dt.Rows(number - 1)
 
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Auswahl aus Form1 mit DataGrid in Form21.342Robby300424.08.14 16:25
Re: Auswahl aus Form1 mit DataGrid in Form2745Manfred X24.08.14 16:39
Re: Auswahl aus Form1 mit DataGrid in Form2906Robby300424.08.14 18:02
Re: Auswahl aus Form1 mit DataGrid in Form2734ModeratorDaveS24.08.14 16:44
Re: Auswahl aus Form1 mit DataGrid in Form2838Manfred X24.08.14 17:43
Re: Auswahl aus Form1 mit DataGrid in Form2744Robby300424.08.14 18:25
Re: Auswahl aus Form1 mit DataGrid in Form2781Manfred X24.08.14 18:56
Re: Auswahl aus Form1 mit DataGrid in Form2705Robby300424.08.14 19:15

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel