我有一个datagridview,其样式保持如下
dgvCreatinine.AutoGenerateColumns = False
dgvCreatinine.AutoSize = False
dgvCreatinine.AutoResizeRows()
dgvCreatinine.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill
dgvCreatinine.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders)
dgvCreatinine.DataSource = dtTemp
它的出现如图所示
如您所见,gridview的大小没有按行调整。有人可以告诉我如何做到这一点吗?预先感谢。
答案 0 :(得分:1)
您可以使用此公式设置整个控件的高度
DataGridViewHeight = HeaderHeight + NumberOfRows * RowHeight
代码:
dgvCreatinine.Height =
dgvCreatinine.ColumnHeadersHeight _
+ dgvCreatinine.Rows.OfType(Of DataGridViewRow).First().Height * dgvCreatinine.Rows.Count()
此可行,但可以进行一些调整。例如,可能有一种更好的方法来获取行高。并且您可能还需要根据边框添加一个或两个像素。另外,如果您有基础数据源,则可以从中获取行数。
无论何时添加或删除行或更新数据绑定等,都应调用该代码。