删除列表框中的重复值
本文关键字:删除列 列表 删除 | 更新日期: 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;
名称空间或引用它。让我知道这是否适合你。