【问题标题】:call method foreach selected item in a listview为列表视图中的每个选定项目调用方法
【发布时间】:2012-08-01 23:16:30
【问题描述】:

我想调用一个方法,该方法为列表视图中的每个选定项目接收一个字符串。

foreach (string item in lvwPoliciesAvailableForHoldBack.SelectedItems)
                {
                    Database.HoldBackPolicy(item);
                }

我遇到了这个错误:

无法将“System.Windows.Forms.ListViewItem”类型的对象转换为“System.String”类型。

这是“HoldBackPolicy”方法:

public int HoldBackPolicy(string PolicyNumber)
        {
            int result = 0;

            SqlCommand cmd = new SqlCommand("spHoldBackPolicy", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PolicyNumber", PolicyNumber);

            var returnParameter = cmd.Parameters.Add("@RETURN_VALUE", SqlDbType.Int);
            returnParameter.Direction = ParameterDirection.ReturnValue;

            try
            {
                conn.Open();
                cmd.ExecuteNonQuery();
                result = Convert.ToInt32(returnParameter.Value);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message.ToString());
            }
            finally
            {
                conn.Close();
            }
            return result;
        }

【问题讨论】:

  • 如果你有代码... ... ...尝试并找出答案。
  • 无法将“System.Windows.Forms.ListViewItem”类型的对象转换为“System.String”类型。

标签: c# listview selecteditem


【解决方案1】:

您不能将 ListViewItem 转换为字符串。错误说明了一切。

这一行:

foreach (string item in lvwPoliciesAvailableForHoldBack.SelectedItems)

错了。一定是这样的:

foreach (ListViewItem item in lvwPoliciesAvailableForHoldBack.SelectedItems)

而这个函数调用,一定是这样的:

Database.HoldBackPolicy(item.Text);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2022-11-07
    • 1970-01-01
    • 2019-09-21
    • 2018-01-08
    • 1970-01-01
    • 2019-03-01
    相关资源
    最近更新 更多