C# 在显示到文本框之前更改数据绑定内的数据值
我有和这个一样的数据绑定设置 但我不知道如何更改的值,假设我有两种型号:C# 在显示到文本框之前更改数据绑定内的数据值,c#,winforms,data-binding,C#,Winforms,Data Binding,我有和这个一样的数据绑定设置 但我不知道如何更改的值,假设我有两种型号: class Receipt { public int ProductId { get; set; } public double Price { get; set; } //etc... } class Product { public int ProductId { get; set; } public string ProductName { get; set; } //etc.
class Receipt {
public int ProductId { get; set; }
public double Price { get; set; }
//etc...
}
class Product {
public int ProductId { get; set; }
public string ProductName { get; set; }
//etc...
}
My datagrid显示收据模型,选中其中一个后,My TextBox将显示datagrid中未显示的其他详细信息
现在我的问题是我需要在文本框中显示ProductName而不是ProductId
我首先使用实体框架代码。
请帮忙
TIA.由于您使用的是实体框架,并且在
收据
类中有产品
属性,因此可以使用收据
加载产品
,例如:
this.receiptBindingSource.DataSource = db.Receipt.Include("Product").ToList();
您可以使用设计器或代码将文本框的数据绑定设置为绑定到Product.ProductName
属性:
this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text",
this.receiptBindingSource, "Product.ProductName", true));
您应该有某种方法使用所选的ProductId从收据获取产品实例。如果您使用的是SQL,您应该从中选择产品。您使用实体框架吗?@RezaAghaei-是的,当您加载收据时,我首先使用代码
加载其产品
。然后,您可以简单地使用其Product.ToString()
或将文本框
绑定到其Product.ProductName
如果您对答案有任何疑问,请告诉我:)