删除列表框中的重复值

本文关键字:删除列 列表 删除 | 更新日期: 2023-09-27 17:49:26

我有一个列表框,我将它绑定到我的表位置并显示列位置。我在表中插入了2个相同位置的值,我的列表框显示了我插入的2个相同值。所以,你能帮我在列表框中只显示一个相同的值吗?到目前为止,我只有这段代码:

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            string select;

            select = listBox1.SelectedValue.ToString();
            dataGridView1.DataSource = this.mAINDATABASEDataSet.tblPosition.Select("Position like '%" + select + "%'");


            int numRows = dataGridView1.Rows.Count;
            txtCount.Text = Convert.ToString(numRows);
            txtSearchCategory.Text = select.ToString();
            try
            {
                MAINDATABASEDataSet.tblCategorizationDataTable GetCategoryCommand1 = GetCategoryData(this.txtSearchCategory.Text.Trim());
                MAINDATABASEDataSet.tblCategorizationRow GetCategoryCommand2 = (MAINDATABASEDataSet.tblCategorizationRow)GetCategoryCommand1.Rows[0];
                this.txtSG.Text = GetCategoryCommand2.SalaryGrade.ToString();
                this.txtMales.Text = GetCategoryCommand2.Male.ToString();
                this.txtFemales.Text = GetCategoryCommand2.Female.ToString();
            }
            catch
            {
                MessageBox.Show("This Position is not saved yet!", "Information".ToUpper(), MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                txtSG.Text = "";
                txtMales.Text = "";
                txtFemales.Text = "";
            }
        }
        catch
        {
            return;
        }

    }

删除列表框中的重复值

您可以通过在LINQ中选择distinct来做到这一点。为您的数据源尝试以下操作:

 dataGridView1.DataSource = this.mAINDATABASEDataSet
.GroupBy(i => i.Position)
.Select(i => i.First())
.Where(i => i.Position.Contains(select));

在项目中包含using System.Linq;名称空间或引用它。让我知道这是否适合你。