在comboBox选择值后,textBox自动显示与comboBox相连接的值! 20

StringMySQLConnectionString=global::WindowsFormsApplication1.Properties.Settings.Defa... String MySQLConnectionString = global::WindowsFormsApplication1.Properties.Settings.Default.testConnectionString;
string MySQL = "SELECT DISTINCT a3 FROM test1 WHERE (a2 ='" + this.comboBox1.Text + "')";
SqlConnection MyConnection = new SqlConnection(MySQLConnectionString);
MyConnection.Open();
System.Data.DataTable MyTable = new System.Data.DataTable();
SqlDataAdapter MyAdapter = new SqlDataAdapter(MySQL, MyConnection);
MyAdapter.Fill(MyTable);

this.comboBox1.DataSource = MyTable;
this.comboBox1.DisplayMember = "a2";
this.comboBox1.ValueMember = "a3";
if (MyConnection.State == ConnectionState.Open)
{
MyConnection.Close();
}

if (this.comboBox1.SelectedValue.ToString() != "System.Data.DataRowView")
{
this.textBox1.Text = this.comboBox1.SelectedValue.ToString();
}

我想实现在一个在comboBox选择值后,textBox自动显示与comboBox相连接的值!
就比如选择一个员工的姓名,然后他的员工编号就自动在文本框里显示。
上面是我测试的一个,但是,当我选择了一个之后,文本框能够出现对应的值,但是,comboBox里面就只是显示System.Data.DataRowView,而不会显示之前的下拉列表的那些值了,再点它就会提示错误了。

有没有别的方法简单能实现两个控件的值相关联的呢?
谢谢!
65623006 你回答的,我试过了,还是不行,不过我有点不明白你的
textbob.text=combox.comboBox1.SelectedValue.ToString();

这个,textbob,是什么,还有combox又是什么呢?
可能这里我没有用对!
展开
 我来答
gdiplq
2010-12-25 · TA获得超过1720个赞
知道小有建树答主
回答量:412
采纳率:0%
帮助的人:230万
展开全部
获取combobox的change事件,事件类型是IndexChangeEvent,然后再事件方法中根据combobox选择的条目信息判断label的文本变化就可以了,这个问题查flex api是可以解决的

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx=""
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600">

<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;

import spark.events.IndexChangeEvent;

[Bindable]
public var cards:ArrayCollection = new ArrayCollection(
[ ,
]);

protected function combobox2_changeHandler(event:IndexChangeEvent):void
{
//中文
if(cb.selectedItem.data == 1)
{
ac.text = "中文";
}
//English
else
{
ac.text = "English";
}
}

]]>
</fx:Script>

<s:VGroup>

<s:ComboBox id="cb" change="combobox2_changeHandler(event)" dataProvider=""/>

<s:Label width="100" text="TEXT。。。" id="ac"/>

</s:VGroup>

</s:Application>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
65623006
2010-12-24 · 超过70用户采纳过TA的回答
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:68.5万
展开全部
你可以把绑定写到外面:
public void ComBind()
{String MySQLConnectionString = global::WindowsFormsApplication1.Properties.Settings.Default.testConnectionString;
string MySQL = "SELECT DISTINCT a3 FROM test1 WHERE (a2 ='" + this.comboBox1.Text + "')";
SqlConnection MyConnection = new SqlConnection(MySQLConnectionString);
MyConnection.Open();
System.Data.DataTable MyTable = new System.Data.DataTable();
SqlDataAdapter MyAdapter = new SqlDataAdapter(MySQL, MyConnection);
MyAdapter.Fill(MyTable);

this.comboBox1.DataSource = MyTable;
this.comboBox1.DisplayMember = "a2";
this.comboBox1.ValueMember = "a3";
if (MyConnection.State == ConnectionState.Open)
{
MyConnection.Close();
}
}
ptotect void com_select(object sender,eventargs e)
{
textbob.text=combox.comboBox1.SelectedValue.ToString();
ComBind();
}
理论上你的那种做法是没有错误的。
如果不行,你换这个试试~!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式