【问题标题】:What is my Combobox_SelectedIndexChanged mistake?我的 Combobox SelectedIndexChanged 错误是什么?
【发布时间】:2014-02-07 12:31:41
【问题描述】:

我想将组合框中所选项目的值设置为变量(人),以便我可以将人的值与我的 sqlite 数据库中的值进行比较。这是我的代码:

private void cboSelectClient_SelectedIndexChanged(object sender, EventArgs e)
{
    string str;
    personSearch = new Person();
    selectedPersonList = new List<Person>();

我的问题在下一行,它应该将我的人员变量项设置为与组合框中的项相同。

    personSearch = cboSelectClient.SelectedItem as Person;

   _pBl.PopulateSelectedPersonList(personSearch, ref selectedPersonList);  

   foreach (Person person in selectedPersonList)
   {
       txtAge.Text = Convert.ToString(person.Age);
       txtEmail.Text = person.Email;
       txtFirstName.Text = person.FirstName;
       txtID.Text = Convert.ToString(person.ID);
       txtLastName.Text = person.LastName;

       lstItemsAdded.Items.Add(person.Item);
   }      
}

这就是我填充组合框的方式:

foreach (Person PersonItem in _listAllData)
{
     if (PersonItem.FirstName != equalPerson.FirstName) //Add name en add  nie die name wat klaar in is nie... VIND UIT HOE OM NET N SEKERE DEEL TE ADD..
     {
         cboSelectClient.Items.Add(PersonItem.ID +" : "
            + PersonItem.FirstName + " " 
            + PersonItem.LastName + " " 
            + PersonItem.Age + " " 
            + PersonItem.Email + " " 
            + PersonItem.Item.ItemCode 
            + " " + PersonItem.Item.ItemDescription 
            + " " + PersonItem.Item.ItemName + " " 
            + PersonItem.Item.ItemPrice);

      }

      equalPerson = PersonItem;
}

【问题讨论】:

  • 您遇到了什么错误或意外行为?
  • 当您更改其引用而不事先使用该变量时,为什么要将Person 的新实例分配给personSearch
  • 如何填充组合框?
  • 当涉及到这一行时: personSearch = cboSelectClient.SelectedItem as Person;它不会将我的 personSearch 值设置为任何值
  • 好像你在组合框中添加了一个字符串,但期待一个对象出来......

标签: c# sqlite combobox listbox


【解决方案1】:

这里的问题是您使用字符串填充 ComboBox,而不是使用实际的 Person 对象。当然这个字符串不能直接转换回对象,因此你的转换失败并且personSearch被分配给null

要解决问题,您需要:

  1. 用实际的Person 对象填充组合框。确保 ComboBox.ValueMemeber 为空。
  2. Person 类中定义一些属性,如 Text 并将 DisplayMember 设置为它或覆盖 ToString 以控制 CombobBox 中的条目在 UI 上的显示方式

【讨论】:

  • 谢谢,我会试试这个!
猜你喜欢
  • 2011-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
  • 2021-08-25
  • 2012-02-29
  • 1970-01-01
相关资源
最近更新 更多