三个comboBox数据的联动
表的结构
--国家代码-----国家名-----省份代码----省份名-----城市代码-----城市名
--86--------zhongguo--------1-----shandong-----11---------weifang
--86--------zhongguo--------1-----shandong-----12---------yantai
--86--------zhongguo--------2-----sichuan-----11---------beichuan
--85----------riben---------1-----jiuzhou-----11---------dongjing
随便动哪个comboBox,数据联动能够实现
但是我想要的效果是
comboBox1的数据有两条:zhongguo riben 而现在是 zhongguo,zhongguo,zhongguo,riben
comboBox2的数据有三条:shandong sichuan jiuzhou 而现在是 shandong shandong sichuan jiuzhou
comboBox1的数据有四条:是最后一级,一般情况是没有重复数据,有了重复数据,最后也能只显示一条
private void Form1_Load(object sender, System.EventArgs e)
{
DataTable dt=new DataTable();
dt.Columns.Add(new DataColumn("CountryCD",typeof(Int32)));
dt.Columns.Add(new DataColumn("CountryName",typeof(string)));
dt.Columns.Add(new DataColumn("ProvinceCD",typeof(Int32)));
dt.Columns.Add(new DataColumn("ProvinceName",typeof(string)));
dt.Columns.Add(new DataColumn("CityCD",typeof(Int32)));
dt.Columns.Add(new DataColumn("CityName",typeof(string)));
DataRow dr1=dt.NewRow();
dr1[0]=86;
dr1[1]="zhongguo";
dr1[2]=1;
dr1[3]="shandong";
dr1[4]=11;
dr1[5]="weifang";
dt.Rows.Add(dr1);
DataRow dr2=dt.NewRow();
dr2[0]=86;
dr2[1]="zhongguo";
dr2[2]=1;
dr2[3]="shandong";
dr2[4]=12;
dr2[5]="yantai";
dt.Rows.Add(dr2);
DataRow dr3=dt.NewRow();
dr3[0]=86;
dr3[1]="zhongguo";
dr3[2]=2;
dr3[3]="sichuan";
dr3[4]=11;
dr3[5]="beichuan";
dt.Rows.Add(dr3);
DataRow dr4=dt.NewRow();
dr4[0]=85;
dr4[1]="riben";
dr4[2]=1;
dr4[3]="jiuzhou";
dr4[4]=11;
dr4[5]="dongjing";
dt.Rows.Add(dr4);
this.comboBox1.DataSource=dt;
this.comboBox1.DisplayMember="CountryName";
this.comboBox1.ValueMember="CountryCD";
this.comboBox2.DataSource=dt;
this.comboBox2.DisplayMember="ProvinceName";
this.comboBox2.ValueMember="ProvinceCD";
this.comboBox3.DataSource=dt;
this.comboBox3.DisplayMember="CityName";
this.comboBox3.ValueMember="CityCD";
}