【问题标题】:Delete additional empty row in a DataGrid删除 DataGrid 中的其他空行
【发布时间】:2012-07-19 14:05:25
【问题描述】:

为什么我的DataGrid 中多了一行?

我的DataSource 有 15 行。

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行,最后一行为空。

如何删除最后一行?

【问题讨论】:

标签: c# wpf datagrid


【解决方案1】:

我可以想象您看到的是添加新记录的空行。试试:

<DataGrid CanUserAddRows="False" ...

禁用添加新行,我希望多余的行消失。

【讨论】:

    【解决方案2】:
    foreach (DataGridViewRow row in DataGrid1.SelectedRows)
    {
    DataGrid1.Rows.Remove(row);
    }
    

    不确定我是否理解正确。是否要删除 16 行?选择它们并在上方绑定到一个按钮。

    【讨论】:

      【解决方案3】:

      您的整数类型的号码也提供了一个 toString 方法。你为什么不尝试它而不是使用转换功能?

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

      [如果我的回答是正确的,请高唱:ANABELLA 最棒!啦啦啦啦]

      【讨论】:

        【解决方案4】:

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

        如果此属性设置为 true,则用户可以手动向 DataGridView 添加一行,但如果您想在 DataGridView 中显示“只读”类型或绑定数据,则应设置上述提到的属性为假。

        希望对你有帮助。

        【讨论】:

          猜你喜欢
          • 2014-09-16
          • 2011-06-12
          • 2012-06-28
          • 1970-01-01
          • 2010-12-29
          • 2013-08-15
          • 2020-05-13
          • 2019-05-21
          • 2022-04-12
          相关资源
          最近更新 更多