Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 文本框中的System.Data.DataRowView不是默认值_C# - Fatal编程技术网

C# 文本框中的System.Data.DataRowView不是默认值

C# 文本框中的System.Data.DataRowView不是默认值,c#,C#,请有人帮我解释一下为什么我的文本框中出现“System.Data.DataRowView”而不是我希望看到的“44”?如果从下拉列表中再次选择它,则它会为我填充字段。我试过阅读很多论坛 再次感谢你 private void E164Convertor_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); DataColumn dc1 = new Da

请有人帮我解释一下为什么我的文本框中出现“System.Data.DataRowView”而不是我希望看到的“44”?如果从下拉列表中再次选择它,则它会为我填充字段。我试过阅读很多论坛

再次感谢你

private void E164Convertor_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();


            DataColumn dc1 = new DataColumn("CountryName");
            DataColumn dc2 = new DataColumn("CountryCode");



            dt.Columns.Add(dc1);
            dt.Columns.Add(dc2);

            dt.Rows.Add("United Kingdom" ,"44");
            dt.Rows.Add("United States" , "1");

            cbxctry.DataSource = dt;

            cbxctry.DisplayMember = "CountryName";
            cbxctry.ValueMember = "CountryCode";

        }

        private void cbxctry_SelectedIndexChanged(object sender, EventArgs e)
        {

         txtctrycode.Text = cbxctry.SelectedValue.ToString();

        }

这看起来可能是您的问题:

如果要获取值,请将ComboBox.SelectedValue类型更改为System.Data.DataRowView

交换

cbxctry.DataSource = dt;

cbxctry.DisplayMember = "CountryName";
cbxctry.ValueMember = "CountryCode";
像这样

cbxctry.DisplayMember = "CountryName";
cbxctry.ValueMember = "CountryCode";

cbxctry.DataSource = dt;

这应该会有帮助

我试过你的代码,一切都很好。您是否设置了一些其他设置,如组合框的属性?我还没有设置任何我知道的设置,但将再次检查。。非常感谢。
cbxctry.DisplayMember = "CountryName";
cbxctry.ValueMember = "CountryCode";

cbxctry.DataSource = dt;