值's没有出现在数据网格中
本文关键字:数据 数据网 网格 | 更新日期: 2023-09-27 17:54:23
我想做什么?
我正在做一个项目,即在线股票/股票营销。其中客户将能够设置一些订单,并可以在他/她的屏幕上看到细节。为此,我使用WPF + c#并使用数据网格,因此所有产品,费率及其所有细节将以表格形式列在该网格中。数据将从Sql Server Management Studio中获取。此外,我在datagrid中绑定数据。
我面临什么问题?
我面临的问题是,在数据网格行被添加,但数据没有出现在这些行。例如,如果在数据库中有4行,相同的no。的行出现在数据网格上,但空行出现:(。
XAML: -
<DataGrid IsReadOnly="True" x:Name="pa" AutoGenerateColumns="False" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding ProductName}" Width="2*" />
<DataGridTextColumn Header="Price" Binding="{Binding ProductPrice}" Width="2*" />
<DataGridTextColumn Header="Unit" Binding="{Binding ProductUnit}" Width="2*" />
<DataGridTextColumn Header="Stock" Binding="{Binding ProductStock}" Width="2*" />
<DataGridTextColumn Header="Code" Binding="{Binding ProductCode}" Width="2*" />
</DataGrid.Columns>
</DataGrid>
c#
: -
static ObservableCollection<ProductAva> collection = new ObservableCollection<ProductAva>();
private string ProductName { get; set; }
private string ProductPrice { get; set; }
private string ProductUnit { get; set; }
private string ProductStock { get; set; }
private string ProductCode { get; set; }
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
SqlConnection con = new SqlConnection("Server=DESKTOP-KE9BBUE;Database=Vegomart;Trusted_Connection=True");
con.Open();
SqlCommand command = new SqlCommand("select * from AddNewItem", con);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
collection.Add(new ProductAva() { ProductName = reader.GetString(1), ProductPrice= Convert.ToString(reader.GetInt32(2)), ProductUnit = reader.GetString(4), ProductStock = Convert.ToString(reader.GetInt32(5)), ProductCode = reader.GetString(3)});
}
pa.ItemsSource = collection;
}
请帮帮我…!!
啊,我终于找到解决办法了。
与其将属性声明为私有,不如将其声明为公共:-
private string ProductName { get; set; }
private string ProductPrice { get; set; }
private string ProductUnit { get; set; }
private string ProductStock { get; set; }
更正:-
public string ProductName { get; set; }
public string ProductPrice { get; set; }
public string ProductUnit { get; set; }
public string ProductStock { get; set; }