[英]changing the datagridview row height using rowtemplate but does not work
[英]Changing the row height of a DataGridView
如何更改 DataGridView 的行高?
我設置了該屬性的值,但高度沒有改變。 在設置此屬性之前必須檢查任何其他屬性。
您需要設置 RowTemplate 的Height
屬性:
var dgv = new DataGridView();
dgv.RowTemplate.Height = 30;
嘗試
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.