Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9318

DataGridViewの行の高さを内容に合わせて変更し、なおかつ最小の高さも決めておきたい。

$
0
0

やりたいこと

DataGridViewの行の高さを内容に合わせて変更し、なおかつ最小の高さも決めておきたい。

困ったこと

dataGridView.AutoResizeRowsをAllCellsにすると、コラムの中の一番大きいコラムに合わせて行が変更されるが、最小の高さまでは決められない。MinimumHeightというプロパティもあるけど、これは逆に最大の高さになる感じ(名前が紛らわしい)。

解決方法

各行のセルで一番大きい行の高さを取得する。
以下の例では、行の最小値は50で、一番大きい行がそれ以下なら、50になる。

foreach(DataGridViewRowrowindataGridView.Rows){varcells=row.Cells.Cast<DataGridViewCell>();intmaxHeight=cells.Max(n=>n.PreferredSize.Height);row.Height=maxHeight>row.Height?maxHeight:50;}

Heightではなく、PreferredSize.Heightにしている。heightだと内容に合わせたサイズではなくて、もともと行として決まっているHeightが取得されるのか。


Viewing all articles
Browse latest Browse all 9318

Latest Images

Trending Articles