TabControl zeigt ausgeblendete Spalte an

  • VB.NET

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

    TabControl zeigt ausgeblendete Spalte an

    Ich habe ein TabContol mit 3 Tab´s.
    Auf jeder seite ist ein Gridview mit bindingsource.

    Ich möchte dass die Spalte ID nicht angezeigt wird.
    Wenn ich in den designer schaue, steht das auch auf false

    VB.NET-Quellcode

    1. 'DataGridViewTextBoxColumn5
    2. '
    3. Me.DataGridViewTextBoxColumn5.DataPropertyName = "ID"
    4. Me.DataGridViewTextBoxColumn5.HeaderText = "ID"
    5. Me.DataGridViewTextBoxColumn5.Name = "DataGridViewTextBoxColumn5"
    6. Me.DataGridViewTextBoxColumn5.Visible = False


    In VB-Express wird es richtig angezeigt, wenn ich aber das Prog starte, wird mir auf Tab 2 und 3 die Spalte angezeigt.
    Auf Tab 1 ist es richtig.

    Was kann das sein?

    Habe das DGV schon gelöscht und neu erstellt. Problem besteht immer noch.
    "Mann" lernt mit seinen Projekten.

    kiter20 schrieb:

    Was kann das sein?
    Wenn Du 3 Tabs mit je einem DGV hast, musst Du je ein Mal (also 3 Mal) die betreffende Spalte ausblenden.
    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 schrieb:

    (also 3 Mal)


    Das habe ich auch gemacht. Ich hatte halt nur den code für eine reingestelt.
    Auf der ersten Seite passt es auch.
    Es gibt noch andere spalten die ausgeblendet sind, wo es funktioniert.
    "Mann" lernt mit seinen Projekten.

    kiter20 schrieb:

    Das habe ich auch gemacht.
    Dann hast Du irgend was anderes falsch gemacht. :/
    Kannst Du mal ein kleines Testprojekt (ohne Datenhandling) machen, das Deinen Effekt reproduziert?
    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!
    Hatte jetzt nochmal alle 3 Tabelle gelöscht und hinzugefügt.
    Der code wird ja automatisch erstellt.

    VB.NET-Quellcode

    1. '
    2. 'DataGridViewTextBoxColumn1
    3. '
    4. Me.DataGridViewTextBoxColumn1.DataPropertyName = "ID"
    5. Me.DataGridViewTextBoxColumn1.HeaderText = "ID"
    6. Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1"
    7. Me.DataGridViewTextBoxColumn1.Visible = False
    8. '
    9. 'DataGridViewTextBoxColumn2
    10. '
    11. Me.DataGridViewTextBoxColumn2.DataPropertyName = "Bauvorhabensnummer"
    12. Me.DataGridViewTextBoxColumn2.HeaderText = "Bauvorhabensnummer"
    13. Me.DataGridViewTextBoxColumn2.Name = "DataGridViewTextBoxColumn2"
    14. Me.DataGridViewTextBoxColumn2.Visible = False
    15. '
    16. 'DataGridViewTextBoxColumn3
    17. '
    18. Me.DataGridViewTextBoxColumn3.DataPropertyName = "Betreff"
    19. Me.DataGridViewTextBoxColumn3.HeaderText = "Betreff"
    20. Me.DataGridViewTextBoxColumn3.Name = "DataGridViewTextBoxColumn3"
    21. '
    22. 'DataGridViewTextBoxColumn4
    23. '
    24. Me.DataGridViewTextBoxColumn4.DataPropertyName = "Summe"
    25. Me.DataGridViewTextBoxColumn4.HeaderText = "Summe"
    26. Me.DataGridViewTextBoxColumn4.Name = "DataGridViewTextBoxColumn4"
    27. '
    28. 'DataGridViewTextBoxColumn5
    29. '
    30. Me.DataGridViewTextBoxColumn5.DataPropertyName = "Nr"
    31. Me.DataGridViewTextBoxColumn5.HeaderText = "Nr"
    32. Me.DataGridViewTextBoxColumn5.Name = "DataGridViewTextBoxColumn5"
    33. '
    34. 'DataGridViewTextBoxColumn6
    35. '
    36. Me.DataGridViewTextBoxColumn6.DataPropertyName = "ID"
    37. Me.DataGridViewTextBoxColumn6.HeaderText = "ID"
    38. Me.DataGridViewTextBoxColumn6.Name = "DataGridViewTextBoxColumn6"
    39. Me.DataGridViewTextBoxColumn6.Visible = False
    40. '
    41. 'DataGridViewTextBoxColumn7
    42. '
    43. Me.DataGridViewTextBoxColumn7.DataPropertyName = "Bauvorhabensnummer"
    44. Me.DataGridViewTextBoxColumn7.HeaderText = "Bauvorhabensnummer"
    45. Me.DataGridViewTextBoxColumn7.Name = "DataGridViewTextBoxColumn7"
    46. Me.DataGridViewTextBoxColumn7.Visible = False
    47. '
    48. 'DataGridViewTextBoxColumn8
    49. '
    50. Me.DataGridViewTextBoxColumn8.DataPropertyName = "Betreff"
    51. Me.DataGridViewTextBoxColumn8.HeaderText = "Betreff"
    52. Me.DataGridViewTextBoxColumn8.Name = "DataGridViewTextBoxColumn8"
    53. '
    54. 'DataGridViewTextBoxColumn9
    55. '
    56. Me.DataGridViewTextBoxColumn9.DataPropertyName = "Summe"
    57. Me.DataGridViewTextBoxColumn9.HeaderText = "Summe"
    58. Me.DataGridViewTextBoxColumn9.Name = "DataGridViewTextBoxColumn9"
    59. '
    60. 'DataGridViewTextBoxColumn10
    61. '
    62. Me.DataGridViewTextBoxColumn10.DataPropertyName = "Nr"
    63. Me.DataGridViewTextBoxColumn10.HeaderText = "Nr"
    64. Me.DataGridViewTextBoxColumn10.Name = "DataGridViewTextBoxColumn10"
    65. '
    66. 'DataGridViewTextBoxColumn11
    67. '
    68. Me.DataGridViewTextBoxColumn11.DataPropertyName = "ID"
    69. Me.DataGridViewTextBoxColumn11.HeaderText = "ID"
    70. Me.DataGridViewTextBoxColumn11.Name = "DataGridViewTextBoxColumn11"
    71. Me.DataGridViewTextBoxColumn11.Visible = False
    72. '
    73. 'DataGridViewTextBoxColumn12
    74. '
    75. Me.DataGridViewTextBoxColumn12.DataPropertyName = "Bauvorhabensnummer"
    76. Me.DataGridViewTextBoxColumn12.HeaderText = "Bauvorhabensnummer"
    77. Me.DataGridViewTextBoxColumn12.Name = "DataGridViewTextBoxColumn12"
    78. Me.DataGridViewTextBoxColumn12.Visible = False
    79. '
    80. 'DataGridViewTextBoxColumn13
    81. '
    82. Me.DataGridViewTextBoxColumn13.DataPropertyName = "Betreff"
    83. Me.DataGridViewTextBoxColumn13.HeaderText = "Betreff"
    84. Me.DataGridViewTextBoxColumn13.Name = "DataGridViewTextBoxColumn13"
    85. '
    86. 'DataGridViewTextBoxColumn14
    87. '
    88. Me.DataGridViewTextBoxColumn14.DataPropertyName = "Summe"
    89. Me.DataGridViewTextBoxColumn14.HeaderText = "Summe"
    90. Me.DataGridViewTextBoxColumn14.Name = "DataGridViewTextBoxColumn14"
    91. '
    92. 'DataGridViewTextBoxColumn15
    93. '
    94. Me.DataGridViewTextBoxColumn15.DataPropertyName = "Nr"
    95. Me.DataGridViewTextBoxColumn15.HeaderText = "Nr"
    96. Me.DataGridViewTextBoxColumn15.Name = "DataGridViewTextBoxColumn15"
    97. '

    "Mann" lernt mit seinen Projekten.
    @sonne75 Jou.
    @kiter20 Diese sind alle genau einem DGV zugeordnet. :/
    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!
    Meinst Du das hier?

    VB.NET-Quellcode

    1. Me.NachverkaufDataGridView.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.DataGridViewTextBoxColumn11, Me.DataGridViewTextBoxColumn12, Me.DataGridViewTextBoxColumn13, Me.DataGridViewTextBoxColumn14, Me.DataGridViewTextBoxColumn15})
    2. Me.EigenleistungDataGridView.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.DataGridViewTextBoxColumn1, Me.DataGridViewTextBoxColumn2, Me.DataGridViewTextBoxColumn3, Me.DataGridViewTextBoxColumn4, Me.DataGridViewTextBoxColumn5})
    3. Me.SonderausstattungDataGridView.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.DataGridViewTextBoxColumn6, Me.DataGridViewTextBoxColumn7, Me.DataGridViewTextBoxColumn8, Me.DataGridViewTextBoxColumn9, Me.DataGridViewTextBoxColumn10})
    "Mann" lernt mit seinen Projekten.
    Ja, muss, aber bis dahin kommst du mit Löschen in deinem Programm weiter und hängst dich an diesem Problem nicht auf ;)

    @kiter20
    Ich konnte deinen Fehler nicht reproduzieren: habe schnell einen TabControl mit 3 TabPages erstellt, auf jeder TabPage ein DGV pro Tabelle im DataSet. Wenn ich ID-Spalte auf Visible=False stelle, verschwinden sie sofort. Sowohl im Entwicklungsmodus als auch bei Laufzeit.

    sonne75 schrieb:

    Sowohl im Entwicklungsmodus als auch bei Laufzeit.


    Im Entwicklungsmodus wird es auch korrekt gemacht. Nur zur Laufzeit nicht.

    Wenn ich die DGV manuell ohne binding mache funktioniert es bei mir auch.
    "Mann" lernt mit seinen Projekten.

    kiter20 schrieb:

    Wenn ich die DGV manuell ohne binding mache funktioniert es bei mir auch.


    Ich habe die DGV von Datenquellen erzeugt, einfach die Tabelle auf die Form gezogen. Daran liegt es also nicht.

    Ich habe das Programm laufen lassen, es bleibt ausgeblendet. Irgendwo musst du deine DGVs verändern. Vielleicht über globale Eigenschaften. Lass dir alle Zeilen ausgeben, wo deine betroffenen DGVs vorkommen, und schau da auf .Visible, nicht unbedingt von TextBoxColumns, sondern andere.

    kiter20 schrieb:

    Mann lernt mit seinen Projekten.
    Frau auch :?:
    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!