簡體   English   中英

DataGridView行標題單元格文本可見性

[英]DataGridView row header cell text visibility

我的WinForms應用程序中有一個DataGridView 基本上,我想在那里輸入一些2D數據或類似的東西。 這意味着,我想同時命名列和命名行。 所以我做到了。 但是后來出現了問題。 如果列名很好,則行名往往不可見。 例如:

在此處輸入圖片說明

我用來以某種方式“美化” DataGridView

private void BeautifyTable(TableView tableView)
{
    foreach (DataGridViewRow row in tableView.Rows)
    {
        row.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
    }
    foreach (DataGridViewColumn col in tableView.Columns)
    {
        col.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
        col.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
        col.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    }
}

TableView是我創建的一個類,它繼承自DataGridView

所以現在我的問題是:是否有辦法以某種方式使那些行名/標題以正常方式顯示(在這種特殊情況下,它們是: s0, s1, s2.. ,但是它們就像從左側切掉一樣) )。

PS是否有“拉伸”列的好方法? 我的意思是,如果我有10列,它們將填滿整個DataGridView寬度,但是如果我添加(我動態地這樣做)5列,那么將有15列,它們仍然適合,只是每列的寬度會減小嗎?

增加行標題的寬度:

dataGridView1.RowHeadersWidth = 
    dataGridView1.RowHeadersWidth * 2; // or another value

通過在Form.cs [Design]的datagridview的屬性中將RowHeadersVisible設置為False來嘗試隱藏那些箭頭,或者僅添加以下代碼即可。

Me.DataGridView1.RowHeadersVisible = False

實際上,我自己找到了最佳答案。

您還可以為行標題設置WitdthSizeMode ,如下所示:

tableView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;

結果就是:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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