【问题标题】:DataTable list/array issuesDataTable 列表/数组问题
【发布时间】:2012-02-12 09:50:15
【问题描述】:

我试图找出数据表在为其分配列表/数组时行为不同的原因。

MainDisplay = 一个空的停靠面板。

LItem = 具有 2 个属性 Id 和 Data 的类

var dgBills = new DataGrid();
dgBills.ItemsSource = new List<ListBillsItem>
{
    new LItem {Id = 5, Data = "Patrik"},
    new LItem {Id = 6, Data = "Thomas"}
};
MainDisplay.Children.Add(dgBills);

这会产生一个包含 3 行的数据网格!?一排给帕特里克,一排给托马斯,一排(最后一个)空行。

如果我把它改成这个,那么它只会产生 2 行(应该这样)

var dgBills = new DataGrid();
dgBills.ItemsSource = new[]
{
    new LItem {Id = 5, Data = "Patrik"},
    new LItem {Id = 6, Data = "Thomas"}
};
MainDisplay.Children.Add(dgBills);

谁能解释它为什么会这样?我从数据库中得到一个列表,我希望它只显示列表中的记录。

【问题讨论】:

    标签: wpf list datagrid wpf-controls


    【解决方案1】:

    这是由于数据网格上的属性 CanUserAddRows="True" 如果基础集合接受新项目,则会向您显示新项目的空行。将此属性设置为false,您应该会在两种情况下看到相同的结果。

    【讨论】:

    • 如此简单。数组不能扩展,而列表可以。谢谢!
    猜你喜欢
    • 2020-08-25
    • 2017-06-04
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 2010-10-15
    相关资源
    最近更新 更多