我有一个C#WinForms程序访问SQL服务器并从中查询数据。我有两个主要类:Users
,其中包含可以登录到应用程序的用户的数据类型,以及Products
,它再次包含可以查询的产品的数据类型。另外,我有一个包含访问sql server的方法的类。我创建了一个函数查询用户从sql数据库到一个列表,而不是我加载到ListView lsv_MangageUsers
。我能够创建添加新用户和删除方法,但是当我开始创建修改用户方法时,我遇到了问题。 Visual Studio说:
“无法将类型'System.Windows.Forms.ListViewItem'转换为'我的app.Users'类”。
我尝试将所选项目在Users
类中的值转换为modify方法并加载到新的表单控件中以允许用户对其进行修改。如果我以错误的顺序使用方法和功能,我很抱歉我仍然是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!";
}
}
}
答案 0 :(得分:0)
lsv_ManageUsers.SelectedItems[0]
引用的项目是ListViewItem,它不是您的Users
项目之一,并且您不能从一个项目转换为另一个项目,因为它们完全不同。“ / p>
如果您希望世界以这种方式工作,那么每个ListViewItem
都有一个Tag
属性,您可以根据自己的喜好自由使用该属性。将Users
添加到列表中时,建议将ListViewItem
项添加到此属性,然后您可以在单击处理程序中取消引用它。