DataGridViewAutoFilterTextBox显示少量项目

时间:2019-01-18 11:19:53

标签: vb.net datagridview

使用本文(https://docs.microsoft.com/en-us/previous-versions/dotnet/articles/aa480727(v=msdn.10)#initialization)和演示项目中包含的库,我在datagridview上设置了类似Excel的自动过滤功能。

但是在没有很多不同值的列上,仅显示一两行:

autofilter

在此示例中,用户可以选择的过滤器列表中实际上有3或4个值,但是仅显示两行,其余的必须滚动查找。

我一直找不到列表框的高度设置位置。有谁能指出我可以在哪里更改/设置?

1 个答案:

答案 0 :(得分:0)

我相信这可能是您想要的。

文档中的以下段落:

SetDropDownListBoxBounds方法

SetDropDownListBoxBounds方法将初始化下拉列表的大小和位置。 首选大小主要取决于dropDownListBox的内容,这些内容是存储在过滤器字典的Keys集合中的格式化值。 SetDropDownListBoxBounds方法首先为每个过滤器值调用Graphics.MeasureString方法。对于每个值,如果宽度比以前的所有值都宽,则将存储宽度,并将高度添加到所有值的累加总高度中。然后将结果用于确定首选大小

首选高度是以下值中的最小值

  • 所有过滤器值的累计高度。
  • 由用户指定的最大高度 DropDownListBoxMaxLines属性值。
  • DataGridView控件客户区的可用高度。