2016-06-05 3 views
0

Я хочу создать окно ввода, и у меня есть DataGridView. Но он не работает, чтобы выровнять текстовое содержимое заголовков или ячеек.Почему выравнивание текста ячейки не работает в DataGridView на C#?

Мой код для создания DataGridView во время выполнения:

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; 
     } 

Результат:

enter image description here

Так как я могу сделать выравнивание заголовка и ячеек?

+1

Проверьте это: http://stackoverflow.com/a/17412270/3731444 и HTTP: // StackOverflow .com/questions/9811641/datagridview-cell-alignment-wont-work –

+0

Спасибо, он отлично работал. –

ответ

2

Если я правильно понял, то ответ здесь: Right align a column in datagridview doesn't work

И проблема заключается в сортировке, как, когда он включен DataGrid оставляет за собой какое-то место для сортировки глифов. Так что, если отключить сортировку, он должен работать, как вы ожидаете:

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

Добавление это как ответ, так что все, кто получит здесь в будущем будет легко найти способ решить эту проблему.

-1

Приведенный выше код предназначен только для центрирования столбцов foreach, но не для заголовка каждого столбца.

Попробуйте добавить эту строку в ваш "за":

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

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

+0

Извините, но это решение не сработало для меня. Добавление «NotSortable» действительно сработало. –

+0

Да, я вижу. Но вы все еще пропустили строку для ячейки заголовка :) – Azureous

Смежные вопросы