VS2015 DGV Spalte hinzufügen defektes Formular

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 20 Antworten in diesem Thema. Der letzte Beitrag () ist von shoddi.

    VS2015 DGV Spalte hinzufügen defektes Formular

    Hallo Liebe Comm,

    ich wollte seit langem wieder das Programmieren anfangen, habe dann das aktuelle vs2015 runtergeladen.

    Als ich dann bei meinem Projekt eine Spalte im DGV hinzufügen wollte, sehe ich dieses Bild:




    Habe es dann darauf reparieren lassen, ohne erfolg und auch eine neuinstallation blieb erfolgslos. alles andere Steuerelemente sind normal. Könnt ihr mir da bitte weiterhelfen?
    @ctextrem Ich habe nur das 13er Studio.
    Allerdings glaube ich, dass Du im falschen Dialog bist.
    Probier mal dies:
    Zieh ein DGV auf die Form und der Konfigurationsdialog lollte sich öffnen bzw. Du hast eine Auswahl, was Du tun möchtest.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich habe genau das oben beschriebene Problem auch und das mit dem VS 2013 Express und auch mit der VS 2017 Communinty Edition.
    Auch wenn ich ein neues DGV auf eine Form ziehe (mit oder ohne Quelle), dann Spalten hinzufügen und da ist das hübsche Fenster auch schon. Das selbe beim kleinen Umweg über Spalten bearbeiten und dann Spalten hinzufügen.
    Es ändert sich auch nicht, wenn ich eine neue Form erstelle.

    Mein letzter Test: Neues Projekt, und direkt ein DGV auf die Form1 gezogen (ohne Datenbindung), sofort beim Spalten hinzufügen habe ich das nette Fenster mit dem zerstörten Aufbau auch.

    ich behelfe mich damit da irgend etwas zu erfassen und es dann über Spalten bearbeiten saube zu ziehen, das geht, wenn auch etwas umständlich.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dksksm“ ()

    @shoddi Poste mal die FormX.Designer.vb dieser Form.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Tritt überall auf und ist ja auch keine selbsterstellte Form von mir, sondern das Formular, um in einem Datagridview Spalten hinzuzufügen... Aber hier mal beispielhaft der Designer-Code einer Form mit Datagridview, bei welcher das auftritt:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
    2. Partial Class FormAdrSuch
    3. Inherits System.Windows.Forms.Form
    4. 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
    5. <System.Diagnostics.DebuggerNonUserCode()> _
    6. Protected Overrides Sub Dispose(ByVal disposing As Boolean)
    7. Try
    8. If disposing AndAlso components IsNot Nothing Then
    9. components.Dispose()
    10. End If
    11. Finally
    12. MyBase.Dispose(disposing)
    13. End Try
    14. End Sub
    15. 'Wird vom Windows Form-Designer benötigt.
    16. Private components As System.ComponentModel.IContainer
    17. 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
    18. 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
    19. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
    20. <System.Diagnostics.DebuggerStepThrough()> _
    21. Private Sub InitializeComponent()
    22. Me.components = New System.ComponentModel.Container()
    23. Me.Button1 = New System.Windows.Forms.Button()
    24. Me.DataGridView1 = New System.Windows.Forms.DataGridView()
    25. Me.BsAdrSuche = New System.Windows.Forms.BindingSource(Me.components)
    26. Me.DsAdrSuche = New magepa.intern.edv.edv_std.StrongTypesNS.DSADRSUCHEDataSet()
    27. Me.TbAdrSuch_AdrSuch = New System.Windows.Forms.TextBox()
    28. Me.BtAbbruch = New System.Windows.Forms.Button()
    29. Me.Label2 = New System.Windows.Forms.Label()
    30. Me.GroupBox1 = New System.Windows.Forms.GroupBox()
    31. Me.AdrnrDataGridViewTextBoxColumn = New System.Windows.Forms.DataGridViewTextBoxColumn()
    32. Me.AdrsuchDataGridViewTextBoxColumn = New System.Windows.Forms.DataGridViewTextBoxColumn()
    33. Me.adr_strasse = New System.Windows.Forms.DataGridViewTextBoxColumn()
    34. Me.adr_PLZ = New System.Windows.Forms.DataGridViewTextBoxColumn()
    35. Me.AdrortDataGridViewTextBoxColumn = New System.Windows.Forms.DataGridViewTextBoxColumn()
    36. CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
    37. CType(Me.BsAdrSuche, System.ComponentModel.ISupportInitialize).BeginInit()
    38. CType(Me.DsAdrSuche, System.ComponentModel.ISupportInitialize).BeginInit()
    39. Me.GroupBox1.SuspendLayout()
    40. Me.SuspendLayout()
    41. '
    42. 'Button1
    43. '
    44. Me.Button1.Location = New System.Drawing.Point(886, 371)
    45. Me.Button1.Name = "Button1"
    46. Me.Button1.Size = New System.Drawing.Size(75, 23)
    47. Me.Button1.TabIndex = 0
    48. Me.Button1.Text = "Ende"
    49. Me.Button1.UseVisualStyleBackColor = True
    50. '
    51. 'DataGridView1
    52. '
    53. Me.DataGridView1.AllowUserToAddRows = False
    54. Me.DataGridView1.AllowUserToDeleteRows = False
    55. Me.DataGridView1.AutoGenerateColumns = False
    56. Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
    57. Me.DataGridView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.AdrnrDataGridViewTextBoxColumn, Me.AdrsuchDataGridViewTextBoxColumn, Me.adr_strasse, Me.adr_PLZ, Me.AdrortDataGridViewTextBoxColumn})
    58. Me.DataGridView1.DataSource = Me.BsAdrSuche
    59. Me.DataGridView1.Location = New System.Drawing.Point(12, 91)
    60. Me.DataGridView1.Name = "DataGridView1"
    61. Me.DataGridView1.ReadOnly = True
    62. Me.DataGridView1.Size = New System.Drawing.Size(949, 274)
    63. Me.DataGridView1.TabIndex = 1
    64. '
    65. 'BsAdrSuche
    66. '
    67. Me.BsAdrSuche.DataMember = "tt-adr_suche"
    68. Me.BsAdrSuche.DataSource = Me.DsAdrSuche
    69. '
    70. 'DsAdrSuche
    71. '
    72. Me.DsAdrSuche.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
    73. '
    74. 'TbAdrSuch_AdrSuch
    75. '
    76. Me.TbAdrSuch_AdrSuch.Location = New System.Drawing.Point(73, 19)
    77. Me.TbAdrSuch_AdrSuch.Name = "TbAdrSuch_AdrSuch"
    78. Me.TbAdrSuch_AdrSuch.Size = New System.Drawing.Size(100, 20)
    79. Me.TbAdrSuch_AdrSuch.TabIndex = 2
    80. '
    81. 'BtAbbruch
    82. '
    83. Me.BtAbbruch.Location = New System.Drawing.Point(792, 371)
    84. Me.BtAbbruch.Name = "BtAbbruch"
    85. Me.BtAbbruch.Size = New System.Drawing.Size(75, 23)
    86. Me.BtAbbruch.TabIndex = 4
    87. Me.BtAbbruch.Text = "Abbruch"
    88. Me.BtAbbruch.UseVisualStyleBackColor = True
    89. '
    90. 'Label2
    91. '
    92. Me.Label2.AutoSize = True
    93. Me.Label2.Location = New System.Drawing.Point(6, 22)
    94. Me.Label2.Name = "Label2"
    95. Me.Label2.Size = New System.Drawing.Size(61, 13)
    96. Me.Label2.TabIndex = 6
    97. Me.Label2.Text = "Suchbegriff"
    98. '
    99. 'GroupBox1
    100. '
    101. Me.GroupBox1.Controls.Add(Me.TbAdrSuch_AdrSuch)
    102. Me.GroupBox1.Controls.Add(Me.Label2)
    103. Me.GroupBox1.Location = New System.Drawing.Point(12, 12)
    104. Me.GroupBox1.Name = "GroupBox1"
    105. Me.GroupBox1.Size = New System.Drawing.Size(195, 61)
    106. Me.GroupBox1.TabIndex = 7
    107. Me.GroupBox1.TabStop = False
    108. Me.GroupBox1.Text = "Suchfilter"
    109. '
    110. 'AdrnrDataGridViewTextBoxColumn
    111. '
    112. Me.AdrnrDataGridViewTextBoxColumn.DataPropertyName = "adr_nr"
    113. Me.AdrnrDataGridViewTextBoxColumn.HeaderText = "Nr."
    114. Me.AdrnrDataGridViewTextBoxColumn.Name = "AdrnrDataGridViewTextBoxColumn"
    115. Me.AdrnrDataGridViewTextBoxColumn.ReadOnly = True
    116. Me.AdrnrDataGridViewTextBoxColumn.Width = 50
    117. '
    118. 'AdrsuchDataGridViewTextBoxColumn
    119. '
    120. Me.AdrsuchDataGridViewTextBoxColumn.DataPropertyName = "adr_such"
    121. Me.AdrsuchDataGridViewTextBoxColumn.HeaderText = "Suchbegriff"
    122. Me.AdrsuchDataGridViewTextBoxColumn.Name = "AdrsuchDataGridViewTextBoxColumn"
    123. Me.AdrsuchDataGridViewTextBoxColumn.ReadOnly = True
    124. '
    125. 'adr_strasse
    126. '
    127. Me.adr_strasse.DataPropertyName = "adr_strasse"
    128. Me.adr_strasse.HeaderText = "Straße"
    129. Me.adr_strasse.Name = "adr_strasse"
    130. Me.adr_strasse.ReadOnly = True
    131. '
    132. 'adr_PLZ
    133. '
    134. Me.adr_PLZ.DataPropertyName = "adr_PLZ"
    135. Me.adr_PLZ.HeaderText = "PLZ"
    136. Me.adr_PLZ.Name = "adr_PLZ"
    137. Me.adr_PLZ.ReadOnly = True
    138. '
    139. 'AdrortDataGridViewTextBoxColumn
    140. '
    141. Me.AdrortDataGridViewTextBoxColumn.DataPropertyName = "adr_ort"
    142. Me.AdrortDataGridViewTextBoxColumn.HeaderText = "Ort"
    143. Me.AdrortDataGridViewTextBoxColumn.Name = "AdrortDataGridViewTextBoxColumn"
    144. Me.AdrortDataGridViewTextBoxColumn.ReadOnly = True
    145. '
    146. 'FormAdrSuch
    147. '
    148. Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
    149. Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
    150. Me.ClientSize = New System.Drawing.Size(966, 401)
    151. Me.ControlBox = False
    152. Me.Controls.Add(Me.GroupBox1)
    153. Me.Controls.Add(Me.BtAbbruch)
    154. Me.Controls.Add(Me.DataGridView1)
    155. Me.Controls.Add(Me.Button1)
    156. Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow
    157. Me.Name = "FormAdrSuch"
    158. Me.Text = "Suchen einer Adresse"
    159. CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
    160. CType(Me.BsAdrSuche, System.ComponentModel.ISupportInitialize).EndInit()
    161. CType(Me.DsAdrSuche, System.ComponentModel.ISupportInitialize).EndInit()
    162. Me.GroupBox1.ResumeLayout(False)
    163. Me.GroupBox1.PerformLayout()
    164. Me.ResumeLayout(False)
    165. End Sub
    166. Friend WithEvents Button1 As System.Windows.Forms.Button
    167. Friend WithEvents DataGridView1 As System.Windows.Forms.DataGridView
    168. Friend WithEvents TbAdrSuch_AdrSuch As System.Windows.Forms.TextBox
    169. Friend WithEvents BtAbbruch As System.Windows.Forms.Button
    170. Friend WithEvents Label2 As System.Windows.Forms.Label
    171. Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
    172. Friend WithEvents BsAdrSuche As System.Windows.Forms.BindingSource
    173. Friend WithEvents DsAdrSuche As magepa.intern.edv.edv_std.StrongTypesNS.DSADRSUCHEDataSet
    174. Friend WithEvents AdrnrDataGridViewTextBoxColumn As System.Windows.Forms.DataGridViewTextBoxColumn
    175. Friend WithEvents AdrsuchDataGridViewTextBoxColumn As System.Windows.Forms.DataGridViewTextBoxColumn
    176. Friend WithEvents adr_strasse As System.Windows.Forms.DataGridViewTextBoxColumn
    177. Friend WithEvents adr_PLZ As System.Windows.Forms.DataGridViewTextBoxColumn
    178. Friend WithEvents AdrortDataGridViewTextBoxColumn As System.Windows.Forms.DataGridViewTextBoxColumn
    179. End Class

    Hab Dein tDS nicht zur Verfügung, aber mit dem gezeigten Form.Designer.VB-Code kommt das im Anhang zu sehende bei mir raus. Ich nutze VS2017CE.
    Bilder
    • FormDesigner.png

      5,82 kB, 991×457, 78 mal angesehen
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @shoddi magepa.intern.edv.edv_std.StrongTypesNS.DSADRSUCHEDataSet habichnich, lass ich weg.
    Ich behaupte einfach, dass Du wichtige Regeln der Gestaltung eines Fensters auße Acht gelassen hast und dann hast Du / wurde die Form per Maus oder zu kleinem Screen zusammengeschoben.

    VB.NET-Quellcode

    1. Me.DataGridView1.Anchor = AnchorStyles.Top Or AnchorStyles.Bottom) Or AnchorStyles.Left) Or AnchorStyles.Right
    2. Me.Button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
    3. Me.BtAbbruch.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
    Kannst Du alles im Designer machen.
    Und dann sieht sie genau so aus, wie @VaporiZed es gepostet hat.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany @VaporiZed
    Ich glaube wir haben uns missverstanden. Der gepostete Designercode ist von einer Form meiner Anwendung und NICHT das Problem, wie ich auch schon direkt dabeigeschrieben habe.
    Die Form um die es geht ist diejenige, auf welcher man neue Spalten zu einem Datagridview hinzufügen kann. Diese ist also nicht Bestandteil von meiner Anwendung, sondern vom VS Designer. Schaut euch dazu das Bild an, welches @Dksksm in seinem Post drin hat.
    Erreichbar ist diese beispielsweise über den kleinen Pfeil oben rechts an einem Datagridview und dann über "Spalte hinzufügen...".
    Dadurch, dass diese Form nicht richtig angezeigt wird, kann man nicht vernünftig neue Spalten hinzufügen, da man einiges nicht erkennen kann...
    Spalte hinzufügen klappt über den SmartTag (»der kleine Pfeil«) bei mir problemlos. Allerdings nur eine ungebundene Spalte. für eine gebundene Spalte bräuchte ich Dein DataSet (tDS). Sonst weiß mein Compiler ja nicht, was da für ne Spalte hinzugefügt werden soll.

    ##########

    Öhm ... Kann es sein, dass in Deinen DataTables Spalten dabei sind, die Leerzeichen oder Bindestriche enthalten? Dann crasht bei mir der Designer.

    @shoddi: Meinen Nachtrag hast Du gesehen?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    shoddi schrieb:

    sondern vom VS Designer
    What :?:
    Ist der Quellcode Bestandteil Deines Projekts?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany Nein, Wenn man im Ansichtsdesigner im Visual Studio, in meinem Fall 2010 Pro SP1, eine Form erstellt, da dann ein Datagridview aus der Toolbox draufzieht, und diesem Datagridview dann Spalten hinzufügen möchte, dann wird dort die Form angezeigt, wo man gebundene oder ungebundene Spalten hinzufügen kann. Und genau diese Form erscheint so zusammengeschoben.

    @VaporiZed Habe grade mal nachgeschaut. Das einzige was häufig auftaucht sind Unterstriche, Bindestriche oder Leerzeichen nicht...
    Eine Deiner DataTables heiß tt-adr_suche, also dort zumindest ein Bindestrich. entferne mal alle Bindestriche in den DataTables. Falls das nix bringt: Mach ein Backup des Projektes. Und dann:
    • Ein neues, ungebundenes DGV auf Dein Form ziehen. Ist dessen Fenster auch »defekt«?
    • Falls nein: tDS entfernen. Ist das Fenster des 1. DGVs immer noch defekt?
    • Falls doch (auf Frage 1) bzw. ja (auf Frage 2): erstell ein neues Projekt und zieh ein DGV darauf. Ist dessen Fenster ebenfalls »defekt«?
      • Falls ja: Späßleshalber jenes neue Projekt bereinigt hochladen
      • Falls nein: allen selbstgeschriebenen Code im aktuellen Projekt löschen. Ist das Fenster des 2. DGVs immer noch defekt?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Dann dieses bitte über [Erweiterte Antwort] hochladen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @shoddi: Ich habe so den Eindruck, dass sich niemand je mein Bild angesehen hat, das ich damals in diesen Thread eingestellt hatte. Dabei zeigt die rechte Seite ganz genau, wie gestaucht die BEarbeitungstabelle dargestellt wird, und man kann nur mit Rätselraten das DGV überhaupt bearbeiten. Es ist halt ein Blindflug im Designer.
    Aber, ich hatte irgendwann meinen Rechner mal komplett neu aufgesetzt, seit dem habe ich das Problem nicht mehr. Damals hatte ich auch sehr lange im Netz gesucht und zwar Leidensgenossen gefunden aber keine Lösung.
    Mein Rat, setze Dein System komplett neu auf.

    @All: guckt euch doch mein Bild aus Post 3 an. Es handelt sich um eine jungräuliche Form in einem jungfräulichen (neuen) Projekt wo nichts drinnen ist (kein Dataset, nichts, gar nichts).
    Einfach jetzt ein DGV auf die Form ziehen und kein Binding (womit auch wenn nichts da ist) erstellen. Dann versuchen eine Spalte im DGV zuzufügen.

    Es gibt keine Hilfe, ich habe damals nichts gefunden und auch festgestellt, dass die "Helfer" sich da viel zu viel drumm herumreimen. Das einzige was ich sagen kann ist:
    -Deinstallieren und neu installieren von CS bringt gar nichts, auch wenn man vor der Neuinstallation alle möglichen verdächtigen weiteren Komponenten (SQL Server etc.) manuell auch noch deinstalliert.

    Mir hat wirklich nur geholfen das ganze System neu aufzusetzen.

    Nachtrag: VS2015 habe ich auch nie wieder installiert, sondern VS2017 Community Edition

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Dksksm“ ()

    @VaporiZed Hab dir mal das Testprojekt angehängt. Ist nur eine Form, wo ich dann ein DGV draufgezogen habe.

    @Dksksm Komplettes Neuaufsetzen kommt nicht in Frage. Da ich nicht weiß, warum das ganze so gestaucht wird und mir daher auch nicht sicher sein kann, dass das Problem nach neuaufsetzen nicht mehr auftritt, kann das nicht die Lösung sein.
    Ich kann ja nun nicht alle 2 Tage neu aufsetzen, wenn VS mal wieder nicht mehr richtig funktioniert... ;)
    Dazu ist auch zu sagen, dass das Problem nicht zum ersten mal aufgetreten ist, sondern mittlerweile leider schon bei drei verschiedenen Rechnern so ist.
    Dateien
    • TestDGV.zip

      (28,18 kB, 62 mal heruntergeladen, zuletzt: )
    Auf dem Formular im Testprojekt ist kein DGV.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.