日期:2014-05-19  浏览次数:20834 次

求教一个COMBOBOX的问题~~~在线等~~
一个COMBOBOX的问题。
有一个数据表,如下:
编号       姓名         性别         年龄         籍贯
1             刘德华       男             44           中国
2             姚明           男             26           中国
3             科比           男             27           美国
有两个textBox和一个combobox进行组合搜索。
__textBox1____     ___comBobox1__     ___textBox2____
textBox1是输入编号用的,textBox2是用来显示数据信息的。
首先,将COMBOBOX1与数据表的字段(从姓名开始)绑定。
当输入编号1,在COMBOBOX1下拉菜单中选择姓名,textBox2中自动显示出刘德华,选择性别,自动显示男,年龄,显示为44,籍贯,显示为中国
当输入编号2......一样操作~~~`


对这个COMBOBOX不太懂啊,求高手指点指点,最好能给段比较完整的代码啊~~~


小妹先在这里谢谢了~~~~~

(没办法啊,那个号没分了,发了个贴也没人回,只好再申请一个,求高手给段代码咯,真的很急呢~~~)
在线等啊~~~

------解决方案--------------------
关于COMBOBOX的编号对应问题,我在做学生管理系统时做过。我在报告中这样说明的:

DataSet记录院系表(编号和名称),而在选择“院系名称”的ComboBox控件里按DataSet的顺序排列,当用户选择院系时,根据此院系在ComboBox里的索引号在DataSet里读取编号。

我的方法可能不太好,不过都实现了像你所说的功能,如果有更好的方法多多指教!
------解决方案--------------------
COMBOBOX变化事件里写就行了,把值显示在TEXTBOX2
------解决方案--------------------
假设你的表名为Demo,数据库为pubs

private void Form1_Load(object sender, System.EventArgs e)
{
SqlConnection cn = new SqlConnection( "server=.;Integrated security=yes;database=pubs ");
SqlDataAdapter da = new SqlDataAdapter( "select name from syscolumns where id = object_id(N '[demo] ') ", cn);
DataSet ds = new DataSet();
cn.Open();
da.Fill(ds);
cn.Close();
comboBox1.DataSource = ds.Tables[0];
comboBox1.ValueMember = "name ";
comboBox1.DisplayMember = "name ";
}

private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(textBox1.Text.Trim().Length == 0)
return;

SqlConnection cn = new SqlConnection( "server=.;Integrated security=yes;database=pubs ");
string strSQL = "select " + comboBox1.Text + " from demo where 编号 = " + Convert.ToInt32(textBox1.Text);
SqlCommand cmd = new SqlCommand(strSQL, cn);
cn.Open();
textBox2.Text = Convert.ToString(cmd.ExecuteScalar());
cn.Close();
}