在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又是什么呢?
可能这里我没有用对! 展开
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又是什么呢?
可能这里我没有用对! 展开
2个回答
展开全部
获取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>
<?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>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
七鑫易维信息技术
2024-09-02 广告
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分...
点击进入详情页
本回答由七鑫易维信息技术提供
展开全部
你可以把绑定写到外面:
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();
}
理论上你的那种做法是没有错误的。
如果不行,你换这个试试~!
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();
}
理论上你的那种做法是没有错误的。
如果不行,你换这个试试~!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询