vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: DataGridView neue Zeile erstellen 
Autor: Manfred X
Datum: 06.05.17 19:56

Hallo!

Dein Wunsch, die Daten selbst einzutragen, hat nichts mit
der Nutzung von Datenbindung zu tun.
Auch wenn Du eine Datatable an das Datagridview bindest,
kannst Du Daten über das Grid direkt in die Table eintragen.
Datenbindung bietet viele Vorteile (z.B. Speichern, Filtern)

Probier mal diese Variante.
Zum Löschen: Zeile im Kopf markieren und Delete-Taste betätigen.
Hinzufügen einer neuen Zeile am Ende erledigt das Grid automatisch.
Zeilennummern im Zeilenkopf werden konsequent hoch gezählt.

Public Class frmEdit
 
    Dim dt As New DataTable
 
    Dim WithEvents bs As New BindingSource With _
      {.RaiseListChangedEvents = True}
 
    'Eigenschaften des Grid einrichten 
    Dim dgv As New DataGridView With _
        {.Parent = Me, .Size = New Size(500, 500), .DataSource = bs, _
         .SelectionMode = DataGridViewSelectionMode.FullRowSelect, _
         .MultiSelect = False}
 
    Dim maxRowNumber As Integer = 0 'Zeilenzähler
 
 
    Private Sub frmEdit_Load(sender As System.Object, _
        e As System.EventArgs) Handles MyBase.Load
 
        Me.Size = New Size(520, 520)
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D
 
        'Erforderliche Eingabespalten
        With dt.Columns
            .Add("SP1") : .Add("SP2") 'usw.
        End With
 
 
        bs.DataSource = dt
 
        For i As Integer = 0 To dgv.Columns.Count - 1
            dgv.Columns(i).SortMode = _
               DataGridViewColumnSortMode.NotSortable
        Next i
 
        dgv.RowHeadersWidth = 50
    End Sub
 
 
    Private Sub bs_AddingNew(sender As Object, _
        e As System.ComponentModel.AddingNewEventArgs) Handles bs.AddingNew
 
        If bs.Count = 0 Then Exit Sub
        If dgv.Rows(bs.Count - 1).HeaderCell.Value IsNot Nothing Then Exit Sub
 
        maxRowNumber += 1
        dgv.Rows(bs.Count - 1).HeaderCell.Value = maxRowNumber.ToString
 
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataGridView neue Zeile erstellen1.956ringaila06.05.17 16:37
Re: DataGridView neue Zeile erstellen1.442Manfred X06.05.17 17:04
Re: DataGridView neue Zeile erstellen1.393ringaila06.05.17 18:17
Re: DataGridView neue Zeile erstellen1.508Manfred X06.05.17 19:56
Re: DataGridView neue Zeile erstellen1.375ringaila06.05.17 21:03
Re: DataGridView neue Zeile erstellen1.359Manfred X06.05.17 21:51

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-2024 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