C#comboBox,绑定完,去除重复数据
我已经绑定完了,所以不用说什么在SQL语句里用distinct这种方法,我只要在comboBox中去除重复数据的方法,好用采纳加分...
我已经绑定完了,所以不用说什么在SQL语句里用distinct 这种方法,我只要在comboBox中去除重复数据的方法,好用采纳加分
展开
3个回答
展开全部
private void button2_Click(object sender, EventArgs e)
{
int I=0, J=1,COUNT,A;
String I0, I1;
COUNT = comboBox1.Items.Count;
for (I = 0; I < COUNT-1; I++)
{
COUNT = comboBox1.Items.Count;
I0 = comboBox1.Items[I].ToString();
listBox1.Items.Add(I.ToString() + "I0" + I0);
A = I + 1;
for (J=A;J<COUNT;J++)
{
I1 = comboBox1.Items[J].ToString();
listBox1.Items.Add(J.ToString()+"I1" + I1);
if (I0 == I1)
{
comboBox1.Items.RemoveAt(J);
listBox1.Items.Add("删除" + I1+"第"+J.ToString());
J = J - 1;
}
COUNT = comboBox1.Items.Count;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
遍历comboxbox的所有值,用comboBox.Items.RemoveAt(int index);进行移除。关键在于如何进行判断。建议从后向前进行移除。
更多追问追答
追问
求具体代码,秒采纳
追答
DataTable dt = new DataTable();
dt.Columns.Add("id", System.Type.GetType("System.String"));
dt.Columns.Add("name", System.Type.GetType("System.String"));
for (int t = 0; t < comboBox1.Items.Count; t++)
{
DataRow row = dt.NewRow();
row["id"] = ((System.Data.DataRowView)(comboBox1.Items[t])).Row.ItemArray[0].ToString();
row["name"] = ((System.Data.DataRowView)(comboBox1.Items[t])).Row.ItemArray[1].ToString();
dt.Rows.Add(row);
}
if (dt.Rows.Count > 1)
{
for (int i = dt.Rows.Count - 1; i >= 0; i--)
{
for (int s = i - 1; s >= 0; s--)
{
if (dt.Rows[i]["name"].ToString() == dt.Rows[s]["name"].ToString())
{
dt.Rows.RemoveAt(i);
break;
}
}
}
}
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "name";
comboBox1.ValueMember = "id";
经过测试,使用DataSource绑定的combobox是没法被直接移除项的,先将所有的值传给DataTable,处理后重新进行绑定。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-05-26
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询