2012-07-20 61 views
0

为什么我的DataGrid中有另外一行?我的DataSource有15行。删除DataGrid中的其他空行

source.DataSource = dt; 
MessageBox.Show(Convert.ToString(source.Count)); // shows 15 

dataGrid1.ItemsSource = source; 
MessageBox.Show(Convert.ToString(dataGrid1.Items.Count)); // shows 16 

我的DataGrid有16行,最后一个为空。

我怎样才能删除最后一行?

+0

[WPF datagrid空行在底部]可能的重复(http://stackoverflow.com/questions/1783839/wpf-datagrid-empty-row-at-bottom) – 2016-07-21 08:35:18

回答

7

我可以想象,你看到的是增加新记录的空行。尝试:

<DataGrid CanUserAddRows="False" ... 

禁用添加新行,我预计剩余行将消失。

+0

谢谢!有效 – NidhinSPradeep 2017-06-09 06:34:13

0
foreach (DataGridViewRow row in DataGrid1.SelectedRows) 
{ 
DataGrid1.Rows.Remove(row); 
} 

不确定我是否理解你的权利。你想删除16行吗?选择它们并将其绑定到按钮上。

1

作为类型整型的你的数字也提供了一个toString方法。为什么不尝试它而不是使用Convert函数?

为了不填充最后一行,有一个应该设置为false的autocolumn-generate(?请重新检查)的属性。

[如果我的回复是正确的,请唱出:ANABELLA最好! lala la la la]

0

默认情况下,如果向表单添加DataGridView,它将有一行,该行始终粘贴到DataGridView,除非通过选择DataGridView并按F4或通过通过设置CanUserAddRows属性为false XAML代码。

如果此属性设置为true,那么用户可以手动将一行添加到DataGridView,但在希望将“只读”类型或绑定数据显示到DataGridView的情况下,则应该设置上述属性为虚假。

希望它可以帮助你。