Steuerelement NumericUpDown im gebundenen DGV

  • VB.NET
  • .NET (FX) 4.0

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    Steuerelement NumericUpDown im gebundenen DGV

    Hallo,

    kann ich ganz einfach das NumericUpDown Steuerelement in eine bestimmte Spalte im gebundenen DataGridView einfügen und entsprechend eingestellte Werte von 1 bis maximal 9 auswerten?

    Bei allen gefundenen Beispielen fehlte die Zuweisung auf eine bestimmte bereits vorhandene Spalte.

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    @prinzip
    Google einmal nach folgenen Suchanfragen:
    .net hosten von Steuerelementen im datagridview
    .net hosten von NumericUpDown im datagridview
    dann kommen folgende Ergebnisse, die ev. für dich relevant sein können...
    docs.microsoft.com/de-de/dotne…-forms-datagridview-cells
    social.msdn.microsoft.com/Foru…-available?forum=winforms
    dreamincode.net/forums/topic/3…n-to-datagridview-column/
    gehen tut's...
    Danke @VB1963. Diese und andere Beispiele habe ich bereits gefunden. Irgendwie sehen sie alle ziemlich identisch aus und zeigen, wie man eine Spalte mit einem Steuerelement im DGV einfügen kann. Da die Spalten aber bereits durch die DataSource generiert wurden, soll lediglich einer bestimmten Spalte das NumericUpDown Steuerelement hinzugefügt werden. Eine Spalte als Booleon funktioniert da recht simpel.

    MichaHo schrieb:

    Das ist imo nicht möglich.
    aber wenn du nur die werte 1-9 benötigst, kannst du eine bestehende Spalte als Comboboxcolum im designer ändern.

    Danke für diese Idee. Das wäre eine Möglichkeit, würde die Ergonomie der Bedienung aber nicht wirklich verbessern. Da prüfe ich lieber in CellEndEdit, ob der eingegebene Wert eine einstellige Zahl ist und setze ansonsten auf 0 zurück.

    Das Forum ist schon lange eine große Hilfe für mich und hat mir bei vielen Ideen Denkanstöße gegeben oder die passenden Lösungswege vermittelt. An dieser Stelle einmal vielen Dank an die vielen Mitwirkenden. :thumbsup:
    Manchmal will man aber offenbar zu viel. :/
    Das sieht sehr vielversprechend aus. Im Designer gibt es aber leider keine Spalten, da diese erst zur Laufzeit hinzugefügt werden.
    Spoiler anzeigen

    VB.NET-Quellcode

    1. ​Private Sub LoadNames()
    2. Dim doc As XDocument = XDocument.Load("popnames.xml")
    3. Dim root As XElement = doc.Root
    4. Dim i As Integer = 0
    5. For Each child As XElement In root.Elements()
    6. Dim name As New PopName()
    7. name.id = Integer.Parse(child.Attribute("ID").Value)
    8. name.name = child.Attribute("Name").Value
    9. [...]
    10. name.count = Integer.Parse(child.Attribute("Count").Value)
    11. Names.Add(name)
    12. i += 1
    13. If i = 100 Then Exit For
    14. Next
    15. End Sub
    16. Private Names As New List(Of PopName)
    17. Friend Class PopName
    18. ' Fields:
    19. Property id As Integer
    20. Property name As String
    21. Property state As String
    22. Property year As Integer
    23. Property rank As Integer
    24. Property count As Integer
    25. End Class

    Per

    VB.NET-Quellcode

    1. DataGridView1.Columns(5).ColumnType = DataGridViewNumericUpDownColumn

    kann man dies leider nicht einfach zuweisen. Andere Eigenschaften wie z.B der Schreibschutz oder Formatierungen funktionieren ja auf diese Weise.
    Unabhängig davon steht auch der auf die von dir gezeigte Art relavante Typ DataGridViewNumericUpDownColumn hier (VB 2010) nicht zur Verfügung. Gab es das erst in einer späteren Version?