C# GridView übernimmt Einstellung vom Eigeschaftenfenster nicht

_CH_K_1991_

Lieutenant
Registriert
Nov. 2008
Beiträge
772
Hallo allerseits

Ich anfangs Woche mit einem C# Projekt angefangen.
Hier geht es darum einen kleinen Budgetplaner zu erstellen. Dazu habe ich mit Microsoft SQL Compact 3.5 eine kleine Datenbank erstellt (vierTabellen) und binde diese in mein Projekt ein (übrigens in Visual Basic 2010).
Ich habe in meinem Programm eine Haupttabelle, in dieser gibt es drei Spalten die Ihren Wert von einer anderen Tabelle per Dropdown Menü beziehen (Fremdschlüssel).


Damit der Nutzer auch die Werte der drei Spalten anpassen kann (es geht Kategorie, Art der Transaktion und Währung) habe ich eine zusätzliche Form erstellt in welcher ich für die drei Spalten die Werte erfassen kann (siehe angehängten PrintScr).

Jedoch möchte ich nicht, dass dort die Spalte ID angezeigt wird (Ich habe diese auf Visible "False" gesetzt - indem ich rechtsklick auf das GridView gemacht habe und dann Spalten bearbeiten).
Wie kann ich das anders lösen, dass diese nicht angezeigt wird?

Danke für Antworten, falls ich es umständlich erklärt haben sollte, stehe ich gerne für Nachfragen zur Verfügung.

Gruss Matthias
 

Anhänge

  • fehlerhafteTabelle.gif
    fehlerhafteTabelle.gif
    79,4 KB · Aufrufe: 186
Ich bin nun kein Profi auf dem Gebiet, aber kannst ja mal sowas in der Richtung probieren.

Code:
GridViewName.Columns.FindByDataField("ID").Visible = false;

P.S.: Das hab ich auf die Schnelle in einem ASP.NET Projekt mit Telerik Gridview probiert, sollte aber mit einem normalen Grid in C# ähnlich möglich sein. Vlt hilfts dir ja.

LG
 
Ich vermute du hast die Klasse DataGridView verwendet - eine Klasse GridView existiert unter Windows Forms nicht, nur unter ASP.NET. So weit ich das verstehe, taucht bei dir die Spalte ID im Grid auf, obwohl du Visible=False gesetzt hast.

Ursache dafür ist das Standardverhalten des DataGrids: Sobald man das Grid per DataSource bindet, werden alle Spalten der Datenquelle angezeigt. Abschalten lässt sich das über die Property AutoGenerateColumns des DataGridViews - leider ist das nicht im Designer einstellbar, nur per Code:
Code:
dataGridView1.AutoGenerateColumns = False

Nun musst du allerdings jede einzelne Spalte selber definieren.
 
ok danke... werde eure Tipps mal ausprobieren....
Und ja es war die Klasse DataGridView (habe ungenau Beschrieben).
 
Zurück
Oben