簡體   English   中英

更改 DataGridView 的行高

[英]Changing the row height of a DataGridView

如何更改 DataGridView 的行高?

我設置了該屬性的值,但高度沒有改變。 在設置此屬性之前必須檢查任何其他屬性。

您需要設置 RowTemplate 的Height屬性:

var dgv = new DataGridView();
dgv.RowTemplate.Height = 30;

可以通過代碼設置行高

dataGridView.RowTemplate.Height = 35;

或通過屬性面板

在此處輸入圖片說明

嘗試

datagridview.RowTemplate.MinimumHeight = 25;//25 is height.

我做到了,而且效果很好!

你可以在 RowAdded Event 上做到這一點:

_data_grid_view.RowsAdded += new System.Windows.Forms.DataGridViewRowsAddedEventHandler(this._data_grid_view_RowsAdded);

private void _data_grid_view_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
        {
            _data_grid_view.Rows[e.RowIndex].Height = 42;
        }

當一行添加到 dataGridView 時,它只是將其高度更改為 42。

您還需要將 resizable 屬性更改為 true

    dataGridView1.RowTemplate.Resizable = DataGridViewTriState.True;
    dataGridView1.RowTemplate.Height = 50;

你需要 :

dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;

然后 :

dataGridView1.ColumnHeadersHeight = 60;

您可以在.cs [Design]更改 Datagridview 的行高。

然后單擊 datagridview Properties

尋找RowTemplate並展開它,

然后在Height輸入值。

您需要做的是設置行的 MinimumHeight 屬性。 不僅是 Height 屬性。 這就是關鍵。 將下面的代碼放在 datagridview 的 CellPainting 事件中

private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
   foreach(DataGridViewRow x in dataGridView1.Rows)
   {
     x.MinimumHeight = 50;
   }
}

確保AutoSizeRowsMode設置為None其他行高無關緊要,因為好吧......它會自動調整行的大小。

應該是一件容易的事情,但我在弄明白之前為此奮斗了幾個小時。

遲到總比不回復好 =)

dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
    dataGridView1.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    dataGridView1.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet;
}

這對我有用

int totalRowHeight = dataGridView1.ColumnHeadersHeight;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
    totalRowHeight += row.Height;
}

if (totalRowHeight < dataGridView1.Height)
{
    totalRowHeight = dataGridView1.Height;
    totalRowHeight -= dataGridView1.ColumnHeadersHeight;
    int rowHeight = totalRowHeight / dataGridView1.Rows.Count;

    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
        row.MinimumHeight = rowHeight;
    }
    dataGridView1.Refresh();

}

簡單地嘗試:

dataGrid->Rows[i]->Height = 20;

暫無
暫無

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

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