为什么获得值System.Data.DataRowView? c#

问题描述 投票:0回答:1
     Why do I get the value System.Data.DataRowView? c# + sqlserver 

我正在尝试将数据添加到我的表中,但是添加到system.Data.rowview中,并且我不知道如何执行此操作,这样它就不会出来了

为什么获得值System.Data.DataRowView? C#+ sqlserver

这是我在Checklixbox中加载项目的位置

 public void Cargar_Requerimientos(string Id_CR)
        {
            cn.Open();

            SqlCommand cmd = new SqlCommand("SELECT Id_CR, Requisitos, Id_RS FROM  Requerimientos WHERE Id_CR =@Id_CR  ", cn);
            cmd.Parameters.AddWithValue("Id_CR", Id_CR);



            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            cn.Close();

            //DataRow dr = dt.NewRow();

            //dr["Requisitos"] = "Seleciona un Requisitos";
            // dt.Rows.InsertAt(dr, 0);
            ///////////////////////////////////////
            checkedListBox1.ValueMember = "Id_RS";
            checkedListBox1.DisplayMember = "Requisitos";
            checkedListBox1.DataSource = dt;


    //bool state = true; 
  // for (int i = 0; i < checkedListBox1.Items.Count; i++)
 //   checkedListBox1.SetItemCheckState(i, (state ? CheckState.Checked : CheckState.Unchecked));
            //dr = dt.NewRow();

enter code here
            try
            {
                //checkedListBox1.DataSource = dt.Columns[0].ToString();
                //dt.Columns[0].ToString();
                //checkedListBox1.DataSource = dt.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }


        }

这里我将数据从combobox1上传到checklistbox1

 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
        //    checkedListBox1.Enabled = false;
            {
                if (comboBox1.SelectedItem.ToString() == null)
                {
                    checkedListBox1.Enabled = true;
                }
            }
            if (comboBox1.SelectedValue.ToString() != null)
            {
                string Id_CR = comboBox1.SelectedValue.ToString();
                Cargar_Requerimientos(Id_CR);
            }

结果:enter image description hereenter image description here

c# sql-server
1个回答
1
投票

CheckListBox不直接支持数据源,这就是为什么从智能中隐藏该属性的原因。

通常设置DataSource after设置DisplayMember和ValueMember属性是正确的,以避免多次刷新调用,但是为了避免出现问题,您必须先设置DataSource属性:

checkedListBox1.DataSource = dt;
checkedListBox1.ValueMember = "Id_RS";
checkedListBox1.DisplayMember = "Requisitos";
© www.soinside.com 2019 - 2024. All rights reserved.