无法将类型为"System.String"的对象转换为类型为"System.Data.DataRowView". [英] Unable to cast object of type 'System.String' to type 'System.Data.DataRowView'.

查看:240
本文介绍了无法将类型为"System.String"的对象转换为类型为"System.Data.DataRowView".的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I have ComboBox, populate with Database.. with Read Method..
string sql = "Select miscCode,miscDesc from miscMaster ";
              // sql = sql + "WHERE miscCategory='Hundai' ";
               sql = sql + "ORDER BY miscDesc";
               //cn.Open();
               cmd = new SqlCommand(sql, cn);
               dr = cmd.ExecuteReader();
               cmb_makeCode.Items.Clear();
               cmb_makeCode.Items.Add("-- Select --");
               while (dr.Read() != false)
               {
                   cmb_makeCode.ValueMember = dr[0].ToString();
                   cmb_makeCode.Items.Add(dr[1].ToString());
                   cmb_makeCode.DisplayMember = dr[0].ToString();
               }
               cn.Close();



但是,当我要将"miscCode"的值存储到下面代码中的字符串变量中时,出现错误:无法将类型为"System.String"的对象转换为类型"System.Data.DataRowView" ."



But when I want to store the value of ''miscCode'' into a string varibale in below code give an error: "Unable to cast object of type ''System.String'' to type ''System.Data.DataRowView''."

private void cmb_makeCode_SelectedIndexChanged(object sender, EventArgs e)
       {
          DataRow selectedDataRow = ((DataRowView)cmb_makeCode.SelectedItem).Row;
          string mkcd = selectedDataRow["miscCode"].ToString();

           MessageBox.Show(mkcd);
}




请帮助我...




plz help me ...

推荐答案

组合框的selecteditem始终是字符串.为什么要使其成为数据行.使其如下所示.
The selecteditem of combobox will always be a string. Why do you want to make it as datarow. Make it as simple as below.
private void cmb_makeCode_SelectedIndexChanged(object sender, EventArgs e)
       {
         
          string mkcd = cmb_makeCode.SelectedItem.ToString();

           MessageBox.Show(mkcd);
}


然后尝试一下.

Then try this.

private void cmb_makeCode_SelectedIndexChanged(object sender, EventArgs e)
       {

          string mkcd = cmb_makeCode.Text.ToString();

           MessageBox.Show(mkcd);
}


这篇关于无法将类型为"System.String"的对象转换为类型为"System.Data.DataRowView".的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆