簡體   English   中英

右對齊datagridview中的列不起作用

[英]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 /單擊列后:

在此輸入圖像描述

要設置列標題或單元格內容中的對齊,您可以使用IDE並打開dataGridView的此屬性掩碼。

設置在對准單元格內容Colunm屬性或設置行標題阿玲RowHeaderDefaultCellStyle

在此輸入圖像描述

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM