我有一个C#Winforms程序访问SQL Server并从中查询数据。我有两个主要类:Users
,其中包含可以登录应用程序的用户的数据类型,而Products
再次包含可以查询的产品的数据类型。另外,我有一个可以访问SQL Server的方法。我制作了一个函数,以查询用户将SQL数据库形成一个列表,该列表比我加载到ListView lsv_MangageUsers
中。我能够创建添加新用户和删除方法,但是当我开始创建修改用户方法时,我会遇到问题。Visual Studio说:
"不能将类型'System.Windows.Forms.listViewItem'转换为"我的app.users'class"。
我尝试将所选项目的价值铸造在Users
类中进行修改方法并加载到新表单控件中,以允许用户对其进行修改。如果我以错误的顺序使用方法和功能,我的道歉我仍然是C#的新手。任何帮助将不胜感激。
运行修改用户方法的按钮代码:
private void btn_ModifyUser_Click(object sender, EventArgs e)
{
if (lsv_ManageUsers.FocusedItem.Index != -1)
{
UserNew userwindow = new UserNew((Users)lsv_ManageUsers.SelectedItems[0]);
if (userwindow.ShowDialog() == DialogResult.OK)
{
LsvUsersRefresh();
toolStripStatusLabel1.Text = "User successfully modified!";
}
}
}
lsv_ManageUsers.SelectedItems[0]
引用的项目是listViewItem,它不是您的Users
项目之一,您不能仅仅因为它们完全不同,因此不能仅对另一个项目进行施放。
如果您希望世界以这种方式工作,那么每个ListViewItem
都有一个Tag
属性,您可以自由地用于任何感觉。在将ListViewItem
添加到列表中时,建议将Users
项目添加到此属性中,然后您可以在单击处理程序中将其删除。