【问题标题】:Value's Not Appearing In Datagrid? [closed]值没有出现在 Datagrid 中? [关闭]
【发布时间】:2016-11-04 22:52:57
【问题描述】:

我要做什么?
我正在从事项目,即在线股票/股票营销。在哪个客户将能够设置一些订单并可以在他/她的屏幕上查看详细信息。为此,我使用 WPF + C# 并使用数据网格,因此所有产品、费率及其所有详细信息都将以表格形式列在该网格中。并且数据将从 Sql Server Management Studio 中获取。此外,我正在数据网格中绑定数据。
我面临什么问题?
我面临的问题是在数据网格中添加了行,但数据没有出现在这些行中。例如,如果数据库中有 4 行,则相同。行数出现在数据网格上,但出现空行:(。

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;

    }

请帮帮我..!!

【问题讨论】:

  • 没有什么像 pa.DataBind(); .... :(
  • 我以前做过这样的任务,它发生了,这次不是 :( 。如果你有解决方案,请参考我,否则不要向我推荐第三方网站. 谢谢
  • 祝你好运..这个网站不是为了给你回答特定于Stacloverflow site only的问题你认为我们大多数人是如何学会弄清楚事情的..我们做了互联网搜索..听起来就像您需要从调试代码开始并了解代码中出错的地方..您至少做到了..这到底是什么意思I had done such task before and it happened and this time it's not :(
  • 你发现的是基础知识..MSDN- Auto Implemented Property's但是由于你不做第三方网站/搜索,我猜你下次不会找到MSDN Site做更多的研究

标签: c# wpf xaml datagrid


【解决方案1】:

啊,终于找到解决办法了。

而不是将属性声明为私有,它们应该是公共的:-

  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; }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-11
    • 2014-01-19
    • 1970-01-01
    • 2021-09-07
    • 2019-02-15
    • 2021-05-10
    • 2018-09-17
    相关资源
    最近更新 更多