我有一个只有 1 行数据的DataGrid 。它当前显示第一行数据,然后显示 4 个空行。我没有看到像Maximum Number of Rows这样的属性。如何将DataGrid限制为一行?
问问题
280 次
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
基本上,根据数据源,您将有不同的方式来限制选择,但归根结底是只为网格提供您想要查看的行。
综上所述,有一种方法可以做到这一点:
- 打开 DataGrid 的分页
- 将 DataGrid 的 MaxPageSize 属性设置为 1
- (可选)将 DataGrid 的 DisplayPagerRow 属性设置为 false
这将做的是使数据网格一次显示 1 行。如果您将 MaxPageSize 设置为 2,您将得到两行。关闭 Pager Row 的可见性意味着您无法导航网格的不同页面。
于 2013-04-26T15:35:29.693 回答