我有一个从我的实体框架
中的存储过程填充的列表视图我想通过listview进行迭代并显示某个属性值。
为了完成循环,我尝试了以下代码
// Loop thru the listview items
for (int i = 0; i < listview1.Items.Count; i++)
{
// Item as type of class 'consHead'
var item = listview1.Items[i] as ConsHead;
// 'consHead' has a property called 'Enquiry_Number'
// display this property in a message box
MessageBox.Show(item.Enquiry_Number);
}
但我得到'对象引用没有设置为对象的实例
我确定存储过程100%正常运行并且列表视图已填充。 我通过删除for循环测试了这个,我的listview确实显示了所有内容。
答案 0 :(得分:0)
所以在经过一些争吵之后,我发现了this文章帮助了我。
首先,我必须在我的实体类设计器中为我创建的存储过程执行“添加函数导入”。然后我必须在“添加功能”向导中创建一个新的复杂类型。我打电话给我的新复杂类型'ConsHeadRef'。
现在我使用新的复杂类型来设置我的listview项而不是之前的'consHead'类型。
for (int i = 0; i < listview1.Items.Count; i++)
{
var item = listview1.Items[i] as ConsHeadRef;
MessageBox.Show(item.Enquiry_Number.ToString());
}