0

我有一个只有 1 行数据的DataGrid 。它当前显示第一行数据,然后显示 4 个空行。我没有看到像Maximum Number of Rows这样的属性。如何将DataGrid限制为一行?

4

1 回答 1

1

您可以通过限制提供给数据网格的数据来限制数据网格。数据网格通过显示您通过 DataSource 属性提供的任何数据来工作。

如果数据源是具有 4 个空行和 1 个填充行的 Data.DataTable,那么它将显示该数据。

如果 DataSource 是一个预定义包含 5 个元素的对象数组,那么它将显示所有 5 行,即使只定义了 1 个元素。

如果数据源是 SqlDataReader,那么您将通过 SQL 语句中的 TOP 命令对其进行限制。

即,如果您只想要一行,则让 SQL 遵循以下原则:

SELECT top 1 * FROM tableFoo WHERE SomeRowValue = SomeDataValue ORDER BY SomeRow 

基本上,根据数据源,您将有不同的方式来限制选择,但归根结底是只为网格提供您想要查看的行。

综上所述,有一种方法可以做到这一点:

  1. 打开 DataGrid 的分页
  2. 将 DataGrid 的 MaxPageSize 属性设置为 1
  3. (可选)将 DataGrid 的 DisplayPagerRow 属性设置为 false

这将做的是使数据网格一次显示 1 行。如果您将 MaxPageSize 设置为 2,您将得到两行。关闭 Pager Row 的可见性意味着您无法导航网格的不同页面。

于 2013-04-26T15:35:29.693 回答