如何删除列表框中的空项目

本文关键字:项目 列表 何删除 删除 | 更新日期: 2023-09-27 18:26:33

我有一个名为TeachersListListbox,我用数据库中的字符串值填充它。现在我想删除任何作为空导入的东西。当列表加载时,它会给出空白项,我不希望这样。我试着使用for循环,但它不起作用。这就是我使用的

int CountEmptyValues = TeachersList.Items.Count;
for (int i = CountEmptyValues - 1; i >= 0; i--)        
    if (TeachersList.Items[i].ToString() == " ")
    {
        TeachersList.Items.RemoveAt(i);
    }

任何形式的帮助都将不胜感激。

以下是我如何将数据库中的项目添加到列表框中

                MySqlConnection TeachersDB = new MySqlConnection();
                string SchoolsDbString = TeachersDB.ConnectionString = @"server=localhost;Port=3306; user id=root; password=test; database=" + Globals.DBChosen;
                MySqlDataAdapter SubjectsAdapter = new MySqlDataAdapter("Select " + SearchByField.Text + " From users", TeachersDB);
                DataSet Dataset = new DataSet();
                TeachersDB.Open(); 
                SubjectsAdapter.Fill(Dataset); 
                TeachersList.DataSource = Dataset.Tables[0];
                TeachersList.DisplayMember = SearchByField.Text; 

如何删除列表框中的空项目

您可以使用Linq轻松地筛选表,我们从中创建一个DataView,并将DataView设置为DataSource。你完了。

string searchBy = SearchByField.Text;
TeachersList.DataSource = Dataset.Tables[0].AsEnumerable().Where(x => !string.IsNullOrWhiteSpace(x.Field<string>(searchBy))).AsDataView();
TeachersList.ValueMember = searchBy;

希望这能帮助