Combox使用的一些技巧

    这些天做一个小型的CMS,也就几张表,用WCF+LINQ2SQL+Silverlight这种方式开发的,对最常用的控件如DataGrid,DataForm以及Toolkit里其它一些控件的用法有了一定的了解,同时参照JV9的教程,把Silverlight里的验证机制仔细的学习了一下,前段时间学习的MVVM框架也派上了用场,感觉用MVVM模式后,客户端的代码维护和分层相对简化了不少。

   今天把自己遇到的Combox中问题整理下:

               1

   关于项最简单的方式就是直接的加ComboxItem

        ComboBoxItem item = new ComboBoxItem() {Content="财务部",IsSelected=true };
        this.comboBox.Items.Add(item);

   用绑定数据源的方式则主要就是一个DisplayMemberPath属性,

       <ComboBox DisplayMemberPath="name"  ItemsSource="{Binding}"/>
如果数据源是一个Department集合,那么每一个Item都是一个Department,这样的情况下,只能通过

int deptCode = (this.comboBox.SelectedItem as Departmentt).deptCode;

  这种方式来获取数据的Value,不过网上有人扩展了SelectValuePath的依赖属性,具体的查看这篇文章ComboBox
  通过这种方式只要绑定到SelectValuePath就可以了
   <ComboBox DisplayMemberPath="name"  SelectedValuePath="deptCode"  ItemsSource="{Binding}"/>
   int deptId = this.cmBox.SelectedValue;
  后台直接用这个SelectValue就可以了,比上面的方式方便多了。
  在Sliverlight中,用绑定方式可能与直接的硬编码方式产生的效果不一样:
  ComboBox绑定数据时,无法将传给它的值设为默认值,我尝试了多种方式也没效果,最后只好采取折衷的办法,
         <combo:ComboBoxClassic x:Name="cmBox" DropDownOpened="cmBox_DropDownOpened"/>

   当传一个值为“01,财务部”给ChildWindow中的ComboBox时,我需要将这个值显示在ComboBox上,可以这样做

       this.child.cmBox.Items.Add(new ComboBoxItem { Content=dept.Name,IsSelected=true,Tag=deptId}); 
  这种方式能够保证传过去的值显示在ComboBox中,因为我们是绑定数据源的,所以当用户更改ComboBox内容时可以在DropDownOpen事件里加载记录
          if (this.cmBox.Items.Count == 1)
            {
                this.cmBox.Items.Clear();
            }
            this.cmBox.ItemsSource = null;         
            this.cmBox.DisplayMemberPath = "name";
            this.cmBox.SelectedValuePath = "deptId";
            this.cmBox.ItemsSource =...

    这种方式很讨巧,其实如果用户更改ComboBox内容较频繁时,可以把数据源放在独立存储中,这样每次发生DropDownOpened事件时就不用从服务器获取数据

不过我感觉这终究不是好的方式,不知道别人是怎么传值给ComboBox并显示在选择框里的,希望可以请教一下更好的方式。

转载于:https://www.cnblogs.com/626498301/archive/2010/10/22/1858045.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/362530.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML+css实现的效果

一、鼠标划过效果 1. 类似电子书的图书效果2. 绝对定位实用案例 二、锚点的应用 三、css精灵&#xff08;图片整合&#xff09; 用一张图片写出一串电话号码用一张图片写出导航栏的滑动效果 四、后台管理布局 单飞布局双飞布局后台页面管理布局 五、css3部分 在一个div…

[LeetCode] Longest Substring Without Repeating Characters 最长无重复字符的子串 C++实现java实现...

最长无重复字符的子串 Given a string, find the length of the longest substring without repeating characters. Example 1: Input: "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3. Example 2: Input: "bbbbb&qu…

使用自动机的Lucene新的邻近查询

最简单的Apache Lucene查询TermQuery匹配包含指定术语的任何文档&#xff0c;无论该术语出现在每个文档中的何处 。 使用BooleanQuery可以将多个TermQuery组合在一起&#xff0c;并完全控制哪些术语是可选的&#xff08; SHOULD &#xff09;和哪些是必需的&#xff08; MUST &…

关于HTML的面试题-html4/css2篇

1. 什么是HTML&#xff1f;2. 用过什么调试器&#xff08;浏览器&#xff09;&#xff0c;编辑器&#xff1f;3. HTML4.0 和 HTML5.0 的区别&#xff1f;4. 手写 HTML 代码5. 元素类型有哪些&#xff08;display有哪些属性&#xff09;&#xff1f;块元素、行元素和行内块元素的…

Java EE:异步构造和功能

介绍 Java EE具有许多API和构造以支持异步执行。 从可伸缩性和性能的角度来看&#xff0c;这是至关重要的。 让我们假设2个模块相互交互。 当模块A &#xff08;发送方&#xff09;以同步方式向模块B &#xff08;接收方&#xff09;发送消息时&#xff0c;通信将在单个线程的…

用 JA Transmenu 模块做多级弹出菜单

转自http://www.joomlagate.com “弹出菜单”这个说法本来不规范&#xff0c;尽管你我都明白这是什么意思&#xff0c;而实际上我们所理解的那个菜单样式英文说法是“Slide Menu”&#xff08;滑动菜单&#xff09;&#xff0c;如果要用“弹出菜单”就成了“Popup Menu”。当然…

关于HTML的面试题-html5/css3篇

1. html5 新增标签有哪些&#xff08;或者新增的语义标签&#xff09;&#xff1f;2. HTML5 中有哪些新特性&#xff1f;3. 视频有哪几种格式&#xff1f;这几种格式有什么区别&#xff1f;4. 写出你知道的层级选择符&#xff08;结构性伪类选择器&#xff09;5. 什么是渐进增强…

Elasticsearch的用例:灵活的查询缓存

在前两篇有关Elasticsearch用例的文章中&#xff0c;我们已经看到Elasticsearch 可用于存储甚至大量文档 &#xff0c;并且我们可以通过Query DSL使用Lucene的全文功能访问那些 文档 。 在这篇较短的文章中&#xff0c;我们将把两个用例放在一起&#xff0c;以了解读取繁重的应…

Vue底层架构及其应用(上)转

https://mp.weixin.qq.com/s?__bizMzIzNjcwNzA2Mw&mid2247486427&idx1&sn61f9579bbe1dfe26da4b53eb538fee13&chksme8d28643dfa50f557c56ce8b5bc9b0597a157a20791e21b1812fe2a30ff4cf2c813608473b43&mpshare1&scene23&srcid#rd 一、前言 市面上有很…

jquery笔记一:下载安装、语法、选择器、遍历选择元素的方法、jQuery动画

目前 jQuery 兼容于所有主流浏览器, 包括 IE 6&#xff01;开发时常用 jquery.js&#xff0c;上线用 jquery.min.js。 jq插件 目前jQuery有三个大版本&#xff1a; &#xff08;1&#xff09;1.x.x: 兼容ie6,7,8&#xff0c;使用最为广泛&#xff0c;官网只做BUG维护&#xff…

jquery简介 each遍历 prop attr

一、JQ简介 jQuery是一个快速、简洁的JavaScript框架&#xff0c;它封装了JavaScript常用的功能代码&#xff0c;提供一种简便的JavaScript设计模式&#xff0c;优化HTML文档操作、事件处理、动画设计和Ajax交互。 装载的先后次序&#xff1a;  jQuery封装库在上&#xff0…

如何让Visitor变得可爱1

本文转自&#xff1a;http://www.cnblogs.com/idior/archive/2005/01/19/94280.html 在wayfarer的文章中提到了如何利用visitor模式实现添加新的功能。如他所说&#xff0c;在实际过程中显的不是那么可爱。不过他为我们提供了一个可行的解决方案&#xff0c;本文将在此基础上使…

EJB 3.x:生命周期和并发模型(第1部分)

Java EE组件生命周期和与并发相关的详细信息对于经验丰富的专业人员而言可能不是新知识&#xff0c;但是对于初学者而言&#xff0c;这可能需要花费一些时间。 就EJB而言&#xff0c;了解其生命周期 &#xff08;以及相关的并发场景&#xff09;对于确保使用EJB的正确用法和解…

单独使用 laydate 日期时间组件

layui 日期和时间组件官方文档 需要注意几点&#xff1a; 下载压缩包后&#xff0c;复制整个 laydate 文件夹放到项目中&#xff0c;里面的文件不要改动位置&#xff0c;否则会报错&#xff1b;在移动端使用时&#xff0c;要给 input 添加 readonly 属性&#xff0c;否则点击…

从零开始学习SVG

1 什么是SVG&#xff1f; MDN中的定义是&#xff1a;SVG即可缩放矢量图形&#xff08;Scalable Vector Graphics&#xff0c;SVG)&#xff0c;是一种用来描述二维矢量图形的 XML 标记语言。 简单地说&#xff0c;SVG 面向图形&#xff0c;HTML 面向文本。SVG 与 Flash 类似&am…

layui 关于layDate设置时间限制问题

前面是尝试结果&#xff0c;有兴趣的可以康康&#xff0c;赶时间的可以直接翻到底下 ----->直达车 因为只有一个页面&#xff0c;没什么标准&#xff0c;所以自己就使用了layui的时间控件&#xff0c;并且作为独立组件。 第一次尝试 - 使用 min 一开始只想让结束时间有个…

QQ聊天记录快速迁移

QQ聊天记录快速迁移 在工作中大家经常会用到QQ来沟通&#xff0c;但是很多时候在其它设备上登录QQ就无法查看到之前的聊天记录和图片&#xff0c;这是因为电脑上的QQ聊天记录一般都是保存在电脑本地硬盘里&#xff0c;所以我们在换设备登录QQ后&#xff0c;是无法查看到之前电脑…

Hawtio和Jolokia的休眠统计

企业Java的很大一部分处理数据。 在企业设置中使用数据的所有不同方式中&#xff0c;仍然存在使用任何种类的O / R映射的行之有效且广泛教授的方法。 JPA标准使每个人都可以轻松使用它&#xff0c;并且它也应该是可移植的。 但是&#xff0c;我们不要谈论迁移细节。 O / R映射的…

laydate 时间控件去掉秒以及解决在移动端不能滑动的问题

一、时间控件去掉秒&#xff0c;保留时分 二、时间控件在移动端不能滚动 一、时间控件去掉秒&#xff0c;保留时分 方法一&#xff1a;使用 ready 回调函数 ready 控件在打开时触发。打开控件时让秒消失。 <script> laydate.render({elem: #endTime, //指定元素trigg…

Entity Framework Code First属性映射约定 转载https://www.cnblogs.com/libingql/p/3352058.html

Entity Framework Code First属性映射约定 Entity Framework Code First与数据表之间的映射方式有两种实现&#xff1a;Data Annotation和Fluent API。本文中采用创建Product类为例来说明tity Framework Code First属性映射约定的具体方式。 1. 表名及所有者 在默认约定的情况下…