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. 【转】UITableViewCell自适应高度 UILabel自适应高度和自动换行

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {     ...

  2. Post Content_Length exceeds the limit

    2017.12,公司市场专员反馈我在公司开发与维护的iOS包内审系统在上传ipa包文件的时候报错了.经过调试发现原来是因为上传的文件太大导致报错(由下图可知,接收方允许的最大请求内容为128M,但我们 ...

  3. 在ScrollView添加一个ListView造成的滚动问题的简单解决办法()

    正常来说,在ScrollView添加一个ListView后在真机上只会显示ListView的一行多一点,我也不理解为什么会这样,后来我把ListView的layout_height改成400dip,而 ...

  4. SQL Server I/O Basics

     SQL Server I/O Basics Chapter 1http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlIO ...

  5. 用JS过滤Emoji表情的输入

    本文为原创,转载请注明出处: cnzt       文章:cnzt-p http://www.cnblogs.com/zt-blog/p/6773854.html 在前端页面开发过程中,总会碰到不允许 ...

  6. Go -- 如何使用gcore工具获取一个core文件而不重启应用?

    问题: 当调试一个程序的时候,理想状态是不重启应用程序就获取core文件. 解决: gcore命令可以使用下面步骤来获取core文件: 1. 确认gdb软件包已经被正确安装. 2. 使用调试参数编译程 ...

  7. 杭电1708Fibonacci String

    Fibonacci String Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  8. goang Receiver & interface

    package main import ( "fmt" ) type Pointer struct { x string } func (this *Pointer) PrintX ...

  9. java栈、堆

    一.栈.堆 几个小概念 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的 ...

  10. HTML的常用标签和表格

    拼接多个网页