C# 如何在DataGrid WPF中添加行
我不明白如何将内容从数据库写入DataGrid。 这是密码 代码数据网格C# 如何在DataGrid WPF中添加行,c#,wpf,C#,Wpf,我不明白如何将内容从数据库写入DataGrid。 这是密码 代码数据网格 <DataGrid AutoGenerateColumns="False" x:Name="ColorsTable" HorizontalGridLinesBrush="DarkGray" RowBackground="LightGray" AlternatingRowBackground="White" Grid.ColumnSpan=
<DataGrid AutoGenerateColumns="False" x:Name="ColorsTable" HorizontalGridLinesBrush="DarkGray"
RowBackground="LightGray" AlternatingRowBackground="White" Grid.ColumnSpan="2" Margin="0,0,624.2,0">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Path = Id}" Width="100" />
<DataGridTextColumn Header="Name" Binding="{Binding Path = Name}" Width="100" />
<DataGridTextColumn Header="Specification" Binding="{Binding Path = Specification}" Width="100" />
</DataGrid.Columns>
</DataGrid>
您可以像这样将
数据网格
绑定到可观察集合
:
<DataGrid ItemsSource="{Binding temp}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Id}"/>
<DataGridTextColumn Binding="{Binding Name}"/>
<DataGridTextColumn Binding="{Binding Specification}"/>
</DataGrid.Columns>
</DataGrid>
只有在正确设置了DataContext
的情况下,这才有效。
如果要在WPF中使用绑定,还应查看如何实现
INotifyPropertyChanged
。尝试删除临时清除();并检查temp.Clear()你为什么要这么做,兄弟?您正在将此列表用作DataGrid的ItemSource
,分配后是否清除该列表?不要清除列表。另外,您可以执行此操作,而不是Binding=“{Binding Path=Id}”
。另一件事是在读取数据时始终检查Null
。谢谢您,问题是temp.clear()
public class Colors: SomeAbstact
{
public int Id { get; set; }
public string Name { get; set; }
public string Specification { get; set; }
}
<DataGrid ItemsSource="{Binding temp}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Id}"/>
<DataGridTextColumn Binding="{Binding Name}"/>
<DataGridTextColumn Binding="{Binding Specification}"/>
</DataGrid.Columns>
</DataGrid>