![](/img/trans.png)
[英]MoveUp / MoveDown row doesn't work after datagridview column sorting
[英]Right align a column in datagridview doesn't work
我有一個datagridiview
其動態綁定到datatable
。 我想將標題中的一些列對齊到右對齊。
我為cellstyle和headercell嘗試了datagridview
這個設置。 對於單元格樣式,它顯示正確,但對於標題,它不是:
我用過的代碼:
this.dataGridView1.Columns["Quantity"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
有人能幫我嗎?
代碼有效 :您在標題文本右側看到的空格是“正常”。
DataGridView
支持按列排序。 因此,每個列標題都保留足夠的空間來顯示排序字形(通常是箭頭)。
如果您希望列標題中的文本完全右對齊,則需要禁用排序。 將列的SortMode
屬性設置為NotSortable 。 這將防止為排序標志符號保留空間。
對象課:
public class FrmTest : Form
{
public FrmTest()
{
InitializeComponent();
this.DataGridView1.Columns[0].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
this.DataGridView1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
this.DataGridView1.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;
}
private void CheckBox1_CheckedChanged(System.Object sender, System.EventArgs e)
{
if (this.CheckBox1.Checked) {
this.DataGridView1.Columns[0].SortMode = DataGridViewColumnSortMode.Automatic;
} else {
this.DataGridView1.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;
}
this.DataGridView1.Refresh();
}
}
1 /加載表格后:
2 /單擊復選框允許排序:
3 /單擊列后:
foreach (DataGridViewColumn col in dataGridView2.Columns){
col.SortMode = DataGridViewColumnSortMode.NotSortable; // This first set it work
col.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
col.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.