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. elasticsearch起步

    elasticsearch教程 elastic入门教程 阮一峰的elasticsearch教程 elasticsearch官网 kibana用户手册 elasticsearch安装步骤 参考:http ...

  2. flask-script插件

    首先在启动Flask项目时,我们可以传不同的参数作为运行参数.但是我们只能在入口app.run()传参.这样十分的不方便.Flask-Script 是一个 Flask 扩展,为 Flask 程序添加了 ...

  3. 如何选择 IT 技术书籍

    ★第1招:看网上评论 首先,上一些权威的图书网站,看看大伙儿的评价如何(要相信群众的眼睛是雪亮的).对于英文书籍,我一般上亚马逊网站去看看:中文书籍则上豆瓣网.这两个网站都提供星级评分,一般 > ...

  4. python多线程(一)

    原文:http://www.pythonclub.org/python-basic/threading 一.python多线程thread和threading实现 python是支持多线程的,并且是n ...

  5. stm32f103c8t6命名

    stm32f103c8t6和stm32f103rbt c8:48脚.64k :rb:64脚.128k.

  6. JavaSE的static、final、abstract修饰符

    static :静态常量,静态方法,静态代码块     静态变量:  静态变量属于类的,使用类名来访问,非静态变量是属于对象的,"必须"使用对象来访问.           注意: ...

  7. 《Java虚拟机原理图解》 1.2.3、Class文件中的常量池详解(下)

    CONSTANT_Fieldref_info, CONSTANT_Name_Type_info) 一般而言,我们在定义类的过程中会定义一些 field 字段,然后会在这个类的其他地方(如方法中)使用到 ...

  8. linux命令stat,查看文件详细信息

    可以查看文件的各类具体信息:文件权限的数字形式0664:uid.gid的权限的数字形式等 更多用法参考stat --help lsattr test.sh 查看文件的其他属性:只读属性.只可以追加写属 ...

  9. 在OpenStack中绕过或停用security group (iptables)

    眼下.OpenStack中默认採用了security group的方式.用系统的iptables来过滤进入vm的流量.这个本意是为了安全,可是往往给调试和开发带来一些困扰. 因此,暂时性的禁用它能够排 ...

  10. Javascript中没有引用传递,只有按值传递

    很多人,包括我,受书本知识消化不彻底的影响,认为 JS 中参数有两种传递方式:数字.字符串等按值传递:数组.对象等按地址(引用)传递.对此种观点,我们要谨慎. var v1 = [] var v2 = ...