【问题标题】:WPF DataGrid control showing extra column显示额外列的 WPF DataGrid 控件
【发布时间】:2013-02-11 07:39:59
【问题描述】:

我正在开发一个将三个 Excel 文件读入 DataTables 的应用程序。它们被称为变体、套件和零件。变体和套件通过 DataRelation 连接,套件和零件也是如此。

在程序的一部分中,我使用 DataGrid 控件通过 DataView 显示整个 Variants 表的内容。问题是,在 Variants 表中的所有实际列之后,DataGrid 显示最后一列称为 VariantsKits,它是 Variants 和 Kits 表之间的 DataRelation 的名称。

我该怎么做才能不显示这个?我使用 AutoGenerateColumns,因为我不知道导入的 Variants Excel 文件中有哪些列。

任何建议将不胜感激。

【问题讨论】:

    标签: wpf excel datagrid


    【解决方案1】:
    // You might have to add a reference to the dll first)
    using System.ComponentModel.DataAnnotations;
    
    [Display(AutoGenerateField = false)]
    public PropertyType ThisIsThePropertyYouDontWantToShowUp { get; set; }
    

    第二个选项是挂钩到 AutoGeneratingColumn 事件 DataGrid 并为您不想要的列取消它

    private void DataGrid_AutoGeneratingColumn(
        object sender, DataGridAutoGeneratingColumnEventArgs e)
        {
            if (/* do a check on e.PropertyName or e.PropertyType*/)
                e.Cancel = true;
        }
    

    【讨论】:

    • 如果您实际上没有数据类型的类,则第二种方法显然更符合您的需求。
    • 非常感谢!我使用了您的第二个建议,效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 2014-08-01
    • 1970-01-01
    • 2012-07-19
    • 2014-07-09
    • 1970-01-01
    相关资源
    最近更新 更多