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绑定数据库,并获取当前选定值的更多相关文章

  1. WPF中ComboBox绑定数据库自动读取产生数据

    前台端 <ComboBox HorizontalAlignment="Name="cmb_SSBM" DisplayMemberPath="NAME&qu ...

  2. comboBox绑定数据库、模糊查询

    实现: 一.绑定数据库 点击查询按钮,comboBox显示从数据库查到的某字段的一列数据 方法:在按钮的点击事件绑定数据库 private void button1_Click(object send ...

  3. comboBox绑定字典Dictionary 获取value中的值

    第一种 最简洁的方法 Dictionary<string, string> list = new Dictionary<string, string> { {"thi ...

  4. silverlight中Combox绑定数据以及动态绑定默认选定项的用法

    在Sliverlight中,经常要用到下拉框Combox,然而Combox的数据绑定却是一件令初学者很头疼的事情.今天就来总结一下下拉框的使用方法: 下面写一个简单的例子吧.先写一个日期的Model, ...

  5. Winfrom 中 ComboBox 绑定数据后设置选定项问题

    在为 ComboBox 当定数据的时候,如果遇到界面显示需要用文本,而获取选定项的值时需要用数字,我们就很习惯使用 DataSource  来进行绑定. 例如以下代码: List<TextVal ...

  6. WinForm 中ComboBox 绑定总结

    1.DataTable绑定 用DataTable直接绑定,只需要设置DataSource.DisplayMember.ValueMember三个属性即可. this.cmbConsume.DataSo ...

  7. easyui treegrid实现显示checkbox并能获取到选定值的

    闲聊: 小颖最近忙疯了,经常被加班,昨天都要下班了,又提了个需求,虽然写的代码不多只有几行,可是测试环境很难跑通,一会就ie崩溃了,所以弄得小颖最近老是头晕. 也不知道最近是怎么了,一向特别爱吃的小颖 ...

  8. form表单获取多选的值

    flask 中 form 表单直接获取多选框的值时 language = request.values.getlist('values')或 language=request.from.getlist ...

  9. jquery获取复选框checkbox的值

    jQuery API : each(callback) :以每一个匹配的元素作为上下文来执行一个函数. :checked :匹配所有选中的被选中元素(复选框.单选框等,不包括select中的optio ...

随机推荐

  1. hdu 4960 记忆化搜索 DP

    Another OCD Patient Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Ot ...

  2. mac 获得进程信息的方法

    NSProcessInfo可以获得当前进程的信息.获得所有活动进程信息可以尝试使用下面的方法. 进程的信息可以通过ps命令得到也可以通过sysctl方法得到. 但是我总是不能获取进程的流量信息,关于这 ...

  3. sulime text 常用快捷键总结

    Sublime Text 3汉化中文版主要特色: -语法高亮.代码提示补全.代码折叠.自定义皮肤/配色方案.多便签 -代码地图.多种界面布局与全屏免打扰模式 -完全开放的用户自定义配置与神奇实用的编辑 ...

  4. 创建ROS工作空间和包

    一.创建工作空间 mkdir -p ~/openni_ws/src cd ~/openni_ws catkin_make        //在catkin工作空间(openni_ws)下catkin_ ...

  5. MFC中的几种播放声音的方法

    一.播放声音文件的简单方法 在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数.利用这些函数可以方便地播放声音.最简单的播放声音方法就是直接调用VC++中提供的声音播放函 数BOOL s ...

  6. setImageEdgeInsets 和 setImage配合使用达到button区域大并可调节其上图片显示区域大小的效果

    [self.indicator setImage:[UIImage imageNamed:@"01_login_moreicon@2x.png"] forState:UIContr ...

  7. Python机器学习--手写体识别(KNN+MLP)

    MLP实现 调整参数比较性能结果 # -*- coding: utf-8 -*- """ Created on Wed Aug 30 21:14:38 2017 @aut ...

  8. poj 2135 Farm Tour 最小费最大流

    inf开太小错了好久--下次还是要用0x7fffffff #include<stdio.h> #include<string.h> #include<vector> ...

  9. 数据库官方在线文档列表(mysql, postgreSQL)

    1. mysql http://dev.mysql.com/doc/ 2. postgreSQL https://www.postgresql.org/docs/

  10. Android6.0权限管理以及使用权限该注意的地方

    Android 6.0 Marshmallow首次增加了执行时权限管理,这对用户来说,能够更好的了解.控 制 app 涉及到的权限.然而对开发人员来说却是一件比較蛋疼的事情.须要兼容适配,并保证程序功 ...