datagridView添加没有数据的行

时间:2014-12-15 12:44:26

标签: c# wpf visual-studio-2010 datagridview

我有数据网格,有2列

<DataGrid AutoGenerateColumns="False" Height="144" HorizontalAlignment="Left" Margin="12,12,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="415" >
        <DataGrid.Columns>
            <DataGridTextColumn Header="Name" Width="300"/>
            <DataGridTextColumn Header="Price" Width="100" />
        </DataGrid.Columns>
    </DataGrid>

然后我从.txt文件加载数据 {苹果12 香蕉30}

while((line = sr.ReadLine()) != null)
                    {
                        var mass = line.Split(' ');
                        dataGrid1.Items.Add(mass);
                    }

但我添加了2行,没有数据。 (在调试中我看到:质量[0] - 苹果,质量[1] - 12)

2 个答案:

答案 0 :(得分:1)

我相信这里发生的事情是数据网格正在看到一个对象[]而不是它可以绑定的东西。尝试创建一个绑定到的对象并用数据填充它。这还有一个额外的好处,就是让其他人阅读它时,代码更加清晰。

<DataGridTextColumn Header="Name" Width="300" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Price" Width="100" Binding="{Binding Price}"/>

while((line = sr.ReadLine()) != null)
                {
                    var mass = line.Split(' ');
                    var newProduct = new Product
                    {
                        Name = mass[0].ToString(),
                        Price = Convert.ToInt32(mass[1])
                    };

                    dataGrid1.Items.Add(newProduct);

                }


public class Product
{
    public string Name { get; set; }
    public int Price { get; set; }
}

答案 1 :(得分:0)

使用daniellepelley解决方案并添加:

<DataGridTextColumn Header="Name" Width="300" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Price" Width="100" Binding="{Binding Price}"/>