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. AtCoder Regular Contest 074F - Lotus Leaves

    $n \leq 300,m \leq 300$,$n*m$的格子里有起点有终点有空地有障碍,人会从起点选一个同行或同列空地跳过去,然后一直这样跳到终点.求至少删掉多少格子使得人跳不到终点. 首先S和T ...

  2. msp430入门学习44

    msp430的其他十二 msp430入门学习

  3. [OS X实用技巧]机器人应用:一键将图片转换为PNG/JPEG/TIFF

    转自:http://www.maczhi.com/archives/2842.html 按教程老出错....试验了后使用: - 取得指定Finder对象,其它不变,但运行后不会出错. OS X实用技巧 ...

  4. 清除svn检出导致的所有文件的问号

    问题:将svn项目检出到桌面后,桌面的图标都有问号了,怎么消除这一大堆问号? 解决方案:(1)新建一个a.txt文件,把这行代码复制进去for /r . %%a in (.) do @if exist ...

  5. Ubuntu 安装PostgreSQL

    安装最新版: sudo apt-get install postgresql 安装完成后,默认会: (1)创建名为"postgres"的Linux用户 (2)创建名为"p ...

  6. 论DATASNAP结合FIREDAC的使用方法

    论DATASNAP结合FIREDAC的使用方法 自DELPHI XE5开始引入FIREDAC数据引擎以来,FIREDAC就正式成为了官方的数据引擎.一直到XE10.1 UPDATE1,据笔者观察,FI ...

  7. BUPT复试专题—三元组(2016)

    题目描述 给你一个长度为m的数组(数组元素从0到m-1),如果数组里有a[i]+a[j]==a[k](i,j,k大于等于0并且小于m),便称之为三元组.现在给你一个数组,让你求三元组的个数. 例如m为 ...

  8. C语言printf()函数具体解释和安全隐患

    一.问题描写叙述 二.进一步说明 请细致注意看,有例如以下奇怪的现象 int a=5; floatx=a; //这里转换是没有问题的.%f打印x是 5.000000 printf("%d\n ...

  9. aip接口中对url参数md5加密防篡改的原理

    目前网上所有开放api的网站中,数据的调用都是采用同一种方式,即: http:www.xxx.com/aa=1&bb=2...,原后对这些参数按字典顺序排序后进行md5加密,将md5加密串与接 ...

  10. 李洪强iOS开发之- 点击屏幕遮挡键盘

    李洪强iOS开发之- 点击屏幕遮挡键盘 实现的效果:  01 - 给当前的view添加点击事件,使点击屏幕的时候,让键盘退出 /** * 点击屏幕 隐藏键盘 * * @param tap */-(vo ...