赋料扬雄敌,诗看子建亲。这篇文章主要讲述C#WinFormApp DataGridView无法在List中显示对象相关的知识,希望能为你提供帮助。
【C#WinFormApp DataGridView无法在List中显示对象】UPD:我发现这篇文章:http://www.developer-corner.com/blog/2007/07/19/datagridview-how-to-bind-nested-objects/,但它很老了,发布于2007年。
我有C#win forms app,我想在datagridView中显示项目列表:这里是List:`
public static List<
Item>
ItemsList { get;
set;
} = new List<
Item>
()
{
new Item()
{
Id = 1,
ItemName = "Ice Tea",
ItemCategory= new Category(){
Name = "Drinks"
},
Price = 4000.00,
},...}`
如你所见,我在Item中有另一个对象Item Category。以下是连接到dataGrid的代码:
dataGridAllProducts.DataSource = Item.ItemsList;
问题是我无法从ItemsList获取Name并在行中显示,这是它在输出中显示的内容:
文章图片
正如你所看到的,而不是饮料,它显示了另一件事。此外,我试图使用foreach和行循环遍历我的列表到datagrid,但它抛出了一些错误。
答案在类别上添加以下代码:
public override string ToString(){
return this.Name;
}
当你需要一个字符串调用该对象时,对象Category显示Name属性。
另一答案数据网格视图的列绑定可能不正确。请在设计视图中尝试以下操作:1。右键单击数据网格视图,然后选择“编辑列”2.选择数据不正确的列。 3.在“Data”下的“DataPropertyName”中,提到“Name”,即Item类的属性名称。
推荐阅读
- 'Pods-App'目标具有传递依赖关系,包括在swift框架中使用GTM时的静态二进制文件
- 如何从APPIUM中的脚本滚动列表
- 如何使用html2canvas用JavaScript创建网站的屏幕截图
- 什么是.NET Framework C#Xml Parser上的Billion Laughs XML DoS攻击
- 如何在Electron Framework中将信息从一个窗口发送到另一个窗口
- 如何检查Electron Framework中是否有可用的Internet连接
- Cachet(开源状态页系统解决方案)
- 如何在Electron Framework中包含和使用jQuery
- 如何下载Ubuntu更快地发布ISO文件(加速下载)