Dan*_*iel 7 .net c# datagridview winforms
我有一个DataGridView显示有限数量的行,从不超过5.这DataGridView是放在一个DataRepeater控件上,所以它通常在屏幕上显示多次.我想要实现的是所有网格都调整到其内容的大小,因此如果其中包含4或5个项目则不显示滚动条,或者如果只有1或2个项目则占用额外的垂直空间.
网格仅包含文本数据.它们是数据绑定控件,因此如果底层数据源发生更改,它们将需要调整大小(我猜这个DataBindingComplete事件是合适的).
我怎么能实现这个目标?计数行是最佳选择吗?提前致谢.
hmq*_*esy 18
由于您的控件是数据绑定的,我会将HeightDataGridView上的属性设置为DataBindingComplete事件中行的高度(加上一些边距)的总和:
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
var height = 40;
foreach (DataGridViewRow dr in dataGridView1.Rows) {
height += dr.Height;
}
dataGridView1.Height = height;
}
Run Code Online (Sandbox Code Playgroud)