| |
VB.NET - Ein- und UmsteigerDatagirdview Spalte bzw. Zeile in Button umkonvertieren | | | Autor: Germany_Patrick | Datum: 19.02.14 15:40 |
| Hallo VB-Gurus ,
ich stehe vor der nächsten Herausforderung und suche fieberhaft nach einer passenden Lösung mit dem Datagridview. Ich beschreibe euch mal das Problem:
Die Daten die bezogen werden, sind von einer MySQL-Datenbank. Da sind mehrere Spalten. Die sehen so aus:
-------------------------------------------------------------------------------
| Aufgaben | Aufgabenbeschreibung| Gruppe A| Gruppe B | Gruppe C| Erledigt am |
-------------------------------------------------------------------------------
| Putzen | Heizraum, WC | x | | | |
-------------------------------------------------------------------------------
| Kotrolle | Alle Etagen | | x | x | |
------------------------------------------------------------------------------- Mein Anliegen ist dass im Datagridview in der letzten Spalte "Erledigt am" umkonvertiert wird in so ein Button.
Sodass es dann automatisch, wenn ich auf den Button klicke, in die Datenbank den Datum einträgt.
Neue Spalte einfügen und ein DatagridviewButtonColumn erzeugen, ist kein Problem.
Das Aktualisieren ist soweit auch kein Problem. Hatte schon die Lösung probiert mit dem Textfelder bestücken und und ein Button-Klick ausserhalb versucht. Das klappt soweit.
Damit mit dem Button in der Datagridview wäre genial. Das spart platz auf dem Formular und wurde schneller gehen.
Ich arbeite mit Visual Studio 2012 Express, falls es jemand fragt.
Nun die Frage an euch! Wie würdet ihr es realisieren oder gibt es ein Script dazu?
Gruß | |
Re: Datagirdview Spalte bzw. Zeile in Button umkonvertieren | | | Autor: Manfred X | Datum: 19.02.14 16:41 |
| Kleines Beispiel - so weit ich Dich verstanden habe.
Deklarationen:
Dim dtx As New DataTable
Dim bs As New BindingSource
Dim WithEvents dgv As New DataGridView With {.Parent = Me} Daten, Spalte und Bindung
dtx.Columns.Add("Date", GetType(Date))
For i As Integer = 0 To 9
dtx.Rows.Add(DBNull.Value)
Next i
bs.DataSource = dtx
dgv.AutoGenerateColumns = False
dgv.DataSource = bs
Dim dc As New DataGridViewButtonColumn
dc.DataPropertyName = "Date"
dc.HeaderText = dc.DataPropertyName
dgv.Columns.Add(dc) Eintragen des aktuellen Zeitpunkts bei einem CellClick
Private Sub dgv_CellClick(sender As Object, _
e As System.Windows.Forms.DataGridViewCellEventArgs) _
Handles dgv.CellClick
If e.ColumnIndex = -1 Then Exit Sub
If dgv.Columns(e.ColumnIndex).DataPropertyName = "Date" Then
Dim row As DataRow = CType(bs(bs.Position), DataRowView).Row
row("Date") = Now 'oder Now.Date für Datum ohne Zeit
End If
End Sub | |
Re: Datagirdview Spalte bzw. Zeile in Button umkonvertieren | | | Autor: Germany_Patrick | Datum: 19.02.14 18:53 |
| Ich probiere es mal aus und gebe es dann bescheid! | |
Re: Datagirdview Spalte bzw. Zeile in Button umkonvertieren | | | Autor: Germany_Patrick | Datum: 13.03.14 11:15 |
| Hallo Manfred X,
Das mit den Button hat es prima funktioniert. Die Einträge wurden auch sauber in die Datenbank eingetragen.
Danke dir!
| |
Re: Datagirdview Spalte bzw. Zeile in Button umkonvertieren | | | Autor: ErfinderDesRades | Datum: 14.03.14 19:09 |
| Das DAtenmodell entspricht nicht der 3. Normalform.
Tatsächlich liegt eine m:n - Relation vor zwischen Gruppe und Aufgabe.
Die MittlerTabelle müsste Datensätze enthalten, die jeweils einer Gruppe eine Aufgabe zuweisen.
In der MittlerTabelle wäre auch die Spalte "Erledigt" As Date anzulegen.
Das wäre jdfs. die reine Lehre der relationalen Datenmodellierung, falls du dich für "richtige" Datenbänkerei interessierst.
Ja, ist klar, ist nicht alles verständlich, aber ich hoffe, habe ein paar Stichworte angegeben, zu denen du recherchieren kannst (Relation, Normalisierung).
(Rechtschreibfehler urheberrechtlich geschützt) | |
Re: Datagirdview Spalte bzw. Zeile in Button umkonvertieren | | | Autor: Germany_Patrick | Datum: 18.03.14 16:26 |
| Dies habe ich mit dran gedacht.
Anfangs hat es immer wieder geknallt, aber nach der Neu-Strukturierung der Datenbank mit der Relation bzw. Normalisierung läuft es reibungslos. | |
| 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 |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevPopUp 2.0
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|
|
|
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
|
|