Wie bindet man vordefinierte dataGridView-Spalten mit Spalten aus der SQL-Anweisung (ohne neue Spalten hinzuzufügen)?

8

Gibt es eine elegante Möglichkeit, vordefinierte dataGridView-Spalten mit Ergebnissen aus einer SQL-Anweisung zu verknüpfen?

Beispiel:

%Vor%

Einige SQL mögen

%Vor%

und dann rufe ich

an %Vor%

Der letzte Aufruf fügt meinem Datagrid Spalten hinzu, aber ich möchte es nur nach dem Spaltennamen binden, um keine neuen Spalten hinzuzufügen.

Das Beispiel gibt ein Ergebnis wie folgt:

Tabellenspalten: ID, Vorname, FName, EID (ID und Vorname enthält leere Zellen)

Wie bekomme ich das?

%Vor%

Beste Grüße!

    
Jooj 16.11.2009, 10:27
quelle

4 Antworten

15

Neben der Einstellung von AutoGenerateColumns auf false müssen Sie auch DataPropertyName für jede Spalte in der DataGridView auf das entsprechende Feld in der Datenquelle festlegen. Sie können dies im Designer oder im Code festlegen, bevor Sie die DataSource-Eigenschaft festlegen.

    
jaybz 26.01.2010 03:20
quelle
11

Verwenden Sie dataGridView1.Columns["FName"].DataPropertyName = "FName" , wobei FName eine Spalte in Ihrer Datentabelle ist.

    
Iftikhar 02.03.2011 16:19
quelle
1

Ich denke, das DataGridView hat eine AutoGenerateColumns -Eigenschaft, nicht wahr?

%Vor%

Von den MSDN-Dokumenten:

  

public bool AutoGenerateColumns {set;   bekommen; }       Mitglied von System.Windows.Forms.DataGridView

     

Zusammenfassung: Ruft einen Wert ab oder legt diesen fest   gibt an, ob Spalten erstellt werden   automatisch wenn der   System.Windows.Forms.DataGridView.DataSource   oder   System.Windows.Forms.DataGridView.DataMember   Eigenschaften werden festgelegt.

     

Rückgabe: Wahr, wenn die Spalten sein sollten   automatisch erstellt; Andernfalls,   falsch. Der Standardwert ist wahr.

Die Eigenschaft ist jedoch nicht im Eigenschaftenfenster, Sie müssen sie wie in meinem Beispiel über den Code einstellen.

    
Neil Barnwell 16.11.2009 10:42
quelle
0

Wie wäre es mit dem Hinzufügen von Spalten zum Spalten-Tag Ihrer Gridview?

%Vor%     
adrianos 16.11.2009 13:14
quelle