两个关联combobox控件数据绑定问题?(我没分了)

数据库:Province:PIDPName;City:CIDCNamePID目的:Combobox1显示PName字段,随其字段的变换,Combobox2中显示相应的城市... 数据库:Province:PID PName;City:CID CName PID
目的:Combobox1显示PName字段,随其字段的变换,Combobox2中显示相应的城市CName。
代码中有问题,希望能得到两组PID,PName。PName如下代码赋给FlightProvinceCom.Items;PID用于Combobox2的查询条件

代码如下:
public ForSaleTicksSearch()
{
InitializeComponent();
}

private void ForSaleTicksSearch_Load(object sender, EventArgs e)
{
try
{
string sql = "select ProvinceId,ProvinceName from ProvinceInfo";
SqlCommand command = new SqlCommand(sql, MyAirTicketConnection.MyCon);
MyAirTicketConnection.MyCon.Open();
SqlDataReader dataReader = command.ExecuteReader();
int provinceId = 0;
string provinceName = "";
while (dataReader.Read())
{
provinceId = (int)dataReader[0];
provinceName = (string)dataReader[1];
FlightProvinceCom.ValueMember = provinceId.ToString();
FlightProvinceCom.Items.Add(provinceName);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message); //"操作失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error
}
finally
{
MyAirTicketConnection.MyCon.Close();
}

}

private void FlightProvinceCom_SelectedIndexChanged(object sender, EventArgs e)
{
FlightCityCom.Items.Clear();
try
{
string sql ="SELECT CityID, CityName, ProvinceId FROM CityInfo WHERE ProvinceId="+FlightProvinceCom.ValueMember;这里ValueMember怎么不随FlightProvinceCom.Text值变化?

SqlCommand command = new SqlCommand(sql, MyAirTicketConnection.MyCon);
MyAirTicketConnection.MyCon.Open();
SqlDataReader dataReader = command.ExecuteReader();
int cityID = 0;
string cityName = "";
while (dataReader.Read())
{
cityID = (int)dataReader[0];
cityName = (string)dataReader[1];
FlightCityCom.ValueMember = cityID.ToString();
FlightCityCom.Items.Add(cityName);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message); //"操作失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error
}
finally
{
MyAirTicketConnection.MyCon.Close();
}
}
我是想把Province:PID PName的两组值都取出,PName显示在combobox1.Items中,PID能存在哪个组中,当combobox1.Text显示的变化时,也随此变化。这样我在填充combobox2查询时,就可以string sql ="SELECT CityID, CityName, ProvinceId FROM CityInfo WHERE ProvinceId= {0} "得到Combobox1.Text值下相应城市的combobox2.Items数据组。
展开
 我来答
ddrddrddr2010
2010-07-05 · TA获得超过431个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:361万
展开全部
建议用text作取值判断好像你程序中加载后所有下拉列表文本对应的都是一个值,手机上网,建议你加载后把所有值显示出来看看,你就找到问题了

看见你的补充了,告诉你一个笨办法吧,你定义一个两维数组,把id和name存入其中,数组为「数据条数,2」,〔数据条数,0〕存id,〔数据条数,1〕存name,加载时,以第一维的顺序加载到combox,建议你不要在indexchange事件里代码,在click事件里写,取selecdindex作序号取值
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式