2016-06-05 1 views
0

Ich möchte ein Eingabefeld erstellen und ich habe ein DataGridView. Es funktioniert jedoch nicht, um den Textinhalt von Headern oder Zellen auszurichten.Warum funktioniert die Zellentextausrichtung in DataGridView in C# nicht?

DataGridView CreateInputBox(int proc,int mac) 
     { 
      DataGridView databox = new DataGridView(); 
      for (int i = 0; i < mac; i++) 
      { 
       databox.Columns.Add("col" + i, "M" + i); 
       databox.Columns[i].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; 
      } 
      for (int i = 0; i < proc; i++) 
      { 
       databox.Rows.Add(); 
      } 
      databox.AutoSize = true; 
      databox.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; 
      return databox; 
     } 

Das Ergebnis:

enter image description here

So wie kann ich die Ausrichtung für den Header und Zellen tun

Mein Code Datagridview zur Laufzeit erstellen?

+1

überprüfen diese: http://stackoverflow.com/a/17412270/3731444 und http: // Stackoverflow .com/fragen/9811641/datagridview-cell-alignment-wont-work –

+0

Danke, es hat gut funktioniert. –

Antwort

2

Wenn ich richtig verstanden hat, ist die Antwort hier: Right align a column in datagridview doesn't work

Und das Problem ist in der Sortierung als wenn es aktiviert das Datagrid einen Ort für eine Art Glyphe behält. Also, wenn Sie deaktivieren die Sortierung sollte es funktionieren wie erwartet:

this.DataGridView1.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable; 

Hinzufügen dies als eine Antwort, damit jeder, der hier in der Zukunft erhalten wird leicht den Weg finden, das Problem zu lösen.

-1

Der obige Code dient nur dazu, die Zellen für jede Spalte zu zentrieren, nicht jedoch für die Kopfzeile jeder Spalte.

Versuchen Sie diese Zeile in Ihrem "für" hinzuzufügen:

databox.Columns[i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter; 

Src: Changing DataGridView Header Cells' Text Alignment And The Font Size

+0

Tut mir leid, aber diese Lösung hat nicht für mich funktioniert. Hinzufügen von "NotSortable" hat funktioniert. –

+0

Ja, ich verstehe. Aber du hast die Zeile für Header-Zelle immer noch verpasst :) – Azureous