silverlight中 ComboBox绑定数据库,并获取当前选定值
silverlight中 ComboBox绑定数据库,并获取当前选定值
在silverlight中 用combobox下拉菜单绑定数据库的方法和用DataGrid绑定数据库的方法类似。
page.xaml.cs代码:
//调用获取 企业联系人姓名
ServiceReference1.Class2 qyLXR = new Class2();
ServiceReference1.Service1Client obj_qyl = new Service1Client();
obj_qyl.qylxrCompleted += new EventHandler<qylxrCompletedEventArgs>(obj_qyl_qylxrCompleted);
obj_qyl.qylxrAsync(qyLXR);
}
void obj_qyl_qylxrCompleted(object sender,qylxrCompletedEventArgs e)
{
this.comboBox1.ItemsSource = e.Result;
}
page.xaml代码
<ComboBox Height="23" HorizontalAlignment="Left" Margin="0,150,0,0" Name="comboBox1" VerticalAlignment="Top" Width="159" Grid.Row="4" Grid.Column="1" SelectionChanged="comboBox1_SelectionChanged" DisplayMemberPath="Name" > </ComboBox>
DisplayMemberPath="Name" //Name为自定义的实体类中要绑定的属性名称
至此,silverlight中ComboBox绑定数据库已完成,下面将是获取选中值
page.xaml.cs代码
private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Qiyelianxiren ql = comboBox1.SelectedItem as Qiyelianxiren;//实体类 ql=comboBox1.SelectedItem as 实体类---获取combobox选定值
MessageBox.Show(ql.Name.Trim());//显示选中值
/*如果需要把选中值传给其他页,则可以这么写:
Qiyelianxiren ql = comboBox1.SelectedItem as Qiyelianxiren;
cs.Name = ql.Name.Trim();*/
}
silverlight中Combobox获取值完成
后记:
之前在完成这个功能时,主要遇到了两个问题:
1、combobox无法绑定数据库,原因是数据绑定错误。之前WCF服务调用失败,是因为数据调用列出现了问题
例如: public List<Qiyelianxiren> qylxr()
{
List<Qiyelianxiren> qyLXR = new List<Qiyelianxiren>();
//SqlConnection objConnection = new SqlConnection(str);
//objConnection.Open();
//SqlCommand objCommand = new SqlCommand("select 姓名 from 企业联系人",objConnection);
//objCommand.CommandType = CommandType.Text;
//DataSet ObjDataset = new DataSet();
//SqlDataAdapter objAdapater = new SqlDataAdapter(objCommand);
SqlConnection objConnection = new SqlConnection(str);
DataSet ObjDataset = new DataSet();
SqlDataAdapter objAdapater = new SqlDataAdapter();
SqlCommand objCommand = new SqlCommand("select 姓名 from 企业联系人");
objConnection.ConnectionString = str;
objConnection.Open();
objCommand.Connection = objConnection;
objAdapater.SelectCommand = objCommand;
objAdapater.Fill(ObjDataset);
for (int i = 0; i < ObjDataset.Tables[0].Rows.Count; i++)
{
Qiyelianxiren a = new Qiyelianxiren();
a.Name = ObjDataset.Tables[0].Rows[i][0].ToString();
qyLXR.Add(a);
}
objConnection.Close();
return qyLXR;
}把 a.Name = ObjDataset.Tables[0].Rows[i][0].ToString();写成了 a.Name = ObjDataset.Tables[0].Rows[i][1].ToString();
查询结果中只有一列值,所以应为[i][0],没有[i][1]这个位置。
2、无法获取选中值。主要问题是获取的值不是选中的值,而是选中的值所在的命名空间。原因是实体类写错了
例如:Qiyelianxiren ql = comboBox1.SelectedItem as Qiyelianxiren;被写成了
combobcox cb=comboBox1.SelectedItem as ComboBox;
在网上查询过类获取值的问题,基本上都是类似的
诸如
selectedvalue
SelectedIndex等貌似获取的都不是选中值,我并没有具体去研究,随着学习的深入,应该会清楚他们的用法的。
silverlight中 ComboBox绑定数据库,并获取当前选定值的更多相关文章
- WPF中ComboBox绑定数据库自动读取产生数据
前台端 <ComboBox HorizontalAlignment="Name="cmb_SSBM" DisplayMemberPath="NAME&qu ...
- comboBox绑定数据库、模糊查询
实现: 一.绑定数据库 点击查询按钮,comboBox显示从数据库查到的某字段的一列数据 方法:在按钮的点击事件绑定数据库 private void button1_Click(object send ...
- comboBox绑定字典Dictionary 获取value中的值
第一种 最简洁的方法 Dictionary<string, string> list = new Dictionary<string, string> { {"thi ...
- silverlight中Combox绑定数据以及动态绑定默认选定项的用法
在Sliverlight中,经常要用到下拉框Combox,然而Combox的数据绑定却是一件令初学者很头疼的事情.今天就来总结一下下拉框的使用方法: 下面写一个简单的例子吧.先写一个日期的Model, ...
- Winfrom 中 ComboBox 绑定数据后设置选定项问题
在为 ComboBox 当定数据的时候,如果遇到界面显示需要用文本,而获取选定项的值时需要用数字,我们就很习惯使用 DataSource 来进行绑定. 例如以下代码: List<TextVal ...
- WinForm 中ComboBox 绑定总结
1.DataTable绑定 用DataTable直接绑定,只需要设置DataSource.DisplayMember.ValueMember三个属性即可. this.cmbConsume.DataSo ...
- easyui treegrid实现显示checkbox并能获取到选定值的
闲聊: 小颖最近忙疯了,经常被加班,昨天都要下班了,又提了个需求,虽然写的代码不多只有几行,可是测试环境很难跑通,一会就ie崩溃了,所以弄得小颖最近老是头晕. 也不知道最近是怎么了,一向特别爱吃的小颖 ...
- form表单获取多选的值
flask 中 form 表单直接获取多选框的值时 language = request.values.getlist('values')或 language=request.from.getlist ...
- jquery获取复选框checkbox的值
jQuery API : each(callback) :以每一个匹配的元素作为上下文来执行一个函数. :checked :匹配所有选中的被选中元素(复选框.单选框等,不包括select中的optio ...
随机推荐
- 【Tomcat】使用tomcat manager 管理和部署项目,本地部署项目到服务器
在部署tomcat项目的时候,除了把war文件直接拷贝到tomcat的webapp目录下,还有一种方法可以浏览器中管理和部署项目,那就是使用tomcat manager. 默认情况下,tomcat m ...
- POJ 2002 Squares [hash]
Squares Time Limit: 3500MS Memory Limit: 65536K Total Submissions: 16631 Accepted: 6328 Descript ...
- 标准C程序设计七---07
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
- ctrl+c,ctrl+d,ctrl+z在linux程序中意义和区别
原文: http://blog.csdn.net/sxhlovehmm/article/details/41318111 [侵删] ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. ...
- Phantomjs和Casperjs,后台网页抓取和交互
var casper = require('casper').create({ verbose: true, logLevel: 'debug', pageSettings: { loadImages ...
- PHP输出控制函数(ob系列函数)
PHP输出控制函数(ob系列函数) flush — 刷新输出缓冲ob_clean — 清空(擦掉)输出缓冲区ob_end_clean — 清空(擦除)缓冲区并关闭输出缓冲ob_end_flush — ...
- 非旋转Treap:用运行时间换调试时间的有效手段
非旋转Treap:用运行时间换调试时间的有效手段 Hello大家好,我们今天来聊一聊非旋转Treap. 相信各位或多或少都做过些序列上的问题.如果水题我们考虑暴力:不强制在线我们可能用过莫队和待修 ...
- HBASE的安装过程及运行HBASE程序的需要配置的内容
HBase安装配置 ①下载压缩包(选择与自己安装的Hadoop版本的兼容版本,见后面附录) 官网下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hba ...
- 《深入理解mybatis原理》 MyBatis的一级缓存实现详解 及使用注意事项
MyBatis是一个简单,小巧但功能非常强大的ORM开源框架,它的功能强大也体现在它的缓存机制上.MyBatis提供了一级缓存.二级缓存 这两个缓存机制,能够很好地处理和维护缓存,以提高系统的性能.本 ...
- Systemtap examples, Network - 4 Monitoring TCP Packets
http://blog.163.com/digoal@126/blog/static/16387704020131014104256627/ 例子来自tcpdumplike.stp脚本, 当tcp ...