做项目时遇到的问题:
dataSource被ComboBox引用过一次,会记忆最后一次选中的值,然后下一次再用时这个值会直接呈现在ComboBox中。

为验证是dataSource还是ComboBox自身含有记忆功能,设置了这样一个实验,

实验的组成:
1.一二两排的第一个ComboBox(以下简称cb1、cb4)都负责为同排第二、第三个ComboBox(以下简称cb2、cb3、cb5、cb6)动态赋值。
2.DataGridView 存在焦点事件,焦点事件的内容是,当选中一个焦点,焦点所在行的每个格的值将在第二排ComboBox上呈现。

实验的步骤:
1.当选中DataGridView格,焦点所在行的值如数反映在第二排ComboBox上。
2.当更改cb4的值,cb5、cb6引用了dataSource的值。
3.此时再更改cb1的值为cb2、cb3动态赋值,即cb2和cb3引用了和cb5、cb6同一个dataSource的值。
4.于是当选中DataGridView格,焦点所在行的值反映在第二排ComboBox上,与此同时,第一排ComboBox表现出惊人的同步性。

实验的结论:

当第二排ComboBox用过一次dataSource,而第一排ComboBox紧接着又用了同一dataSource,那么第一排ComboBox将呈现第二排ComboBox在dataSource中引用过的那个值,所以,记忆者不是ComboBox本身,而是dataSource,并且,这个“记忆”是动态记忆。

“dataSource 记忆” 的这个现象我曾和C#吧的一个吧友讨论过,他说查MSDN未果,不过他说,如果你不喜欢这样的记忆功能,有N多种方法可以避免,其中一个就是使用:

 comboBox1.Items.Clear();
foreach (string item in 你定义的数组)
{
comboBox1.Items.Add(item);
}

实验的演示录像:

链接: http://pan.baidu.com/s/1pJ2OTCn 密码: m5o4

【验证】C# dataSource 的记忆功能的更多相关文章

  1. springMVC 复选框带有选择项记忆功能的处理

    前言:由于jsp管理页面经常会遇到复选框提交到JAVA后台,后台处理逻辑完成后又返回到jsp页面,此时需要记住jsp页面提交时复选框的选择状态,故编写此功能! 一.复选框的初始化 1.1.jsp页面 ...

  2. c# winforms TextBox的记忆功能

    c# winforms TextBox的记忆功能 1:在项目上点右键  sproperties-settings 添加项目 如 MyText  类型 String 2: 获取值:   string l ...

  3. 让你的javascript函数拥有记忆功能,降低全局变量的使用

    考虑例如以下场景:假如我们须要在界面上画一个圆,初始的时候界面是空白的.当鼠标移动的时候,圆须要尾随鼠标移动.鼠标的当前位置就是圆心.我们的实现方案是:假设界面上还没有画圆,那么就新创建一个:假设已经 ...

  4. Extjs grid分页多选记忆功能

    很多同事在用extjs grid做分页的时候,往往会想用grid的多选功能来实现导出Excel之类的功能(也就是所谓的多选记忆功能),但在选选择下一页的时候 上一页选中的已经清除 这是因为做分页的时候 ...

  5. 如何取消input记忆功能

    默认情况下,input会有这个记忆功能,如果不想让它记忆,可以在input上加上autocomplete="off"即可.

  6. js之表单记忆功能

    在项目中,我们难免会遇到希望相同用户操作本次打开页面时可以展现或者自动记录上次登录系统点击过的的复选框,单选按钮等操作的状态,也就是表单记忆功能,这时,一个很重要的技术便派上了用场,即cookie. ...

  7. Excel 2003-单元格输入中带记忆功能

    最近有个同事问我,如何在Excel单元格输入中带记忆功能?其实很简单: 工具ó选项ó编辑ó将“记忆式键入”项选中ó确定: //附图[效果图]:

  8. 动态渲染的input怎么取消记忆功能

    方法1 :自定义去除记忆功能属性: $('#index_table_filter > label > input[type="search"]').attr('auto ...

  9. 设置Adobe Reader打开PDF文件保持记忆功能

    设置Adobe Reader打开PDF文件保持记忆功能 打开菜单“编辑”->“首选项”. 选择种类中的“文档”,在“打开设置”区域勾上“重新打开文档时恢复上次视图设置(R)”,确定之后就可以在下 ...

随机推荐

  1. linQ学习笔记之一

    linq解决的问题 1.编程语言中的数据类型与数据库中的数据类型形成的两套体系 2.SQL编码体验落后 3.SQL和XML都有各自的查询语言,而对象没有自己的查询语言 linq简单的集合查询和fore ...

  2. 《jQuery知识点总结》(一)

    write less do more写更少的代码实现更多的功能DOM:document object model (文件对象模型)选择器(选择元素的对象或者节点)id 选择器 $("#id& ...

  3. DevExpress Ribbon右上角button显示文本设置

    设置ribboncontrol.ShowItemCaptionsInPageHeader 属性为true

  4. Windows10系统如何更改程序的默认安装目录?

    Windows10系统如何更改程序的默认安装目录? 在Windows10系统的使用中,软件程序的默认安装目录是:C:\Program Files\...或者C:\Program Files(x86)\ ...

  5. 解除sql server数据库占用

    use master go ) set @dbName='dbname' --数据库名 ) declare cur_lock cursor for SELECT DISTINCT request_se ...

  6. Json数组追加数据

    背景:在做一个购物车的时候,点击第一个商品,然后存入一个json数组中,点击第二个商品的时候,又继续在json数组中追加,代码如下: <script type="text/javasc ...

  7. MySQL 5.7 安装教程

    自序:最近又要重新用上Mysql,在有道笔记找了以前自己记录怎么安装mysql5.7的笔记,发现那个时候记得笔记比较随意,看的比较费劲,现在决定重新在博客记录一下,以便以后自己查阅的时候更加方便. 1 ...

  8. SQL SERVER中如何在声明游标的语句中,用变量做表名

    -- 因为定义游标所用的表名是变量,所以采用EXEC(定义语句) 的方式来声明游标set @StrSql='DECLARE Ba_Cursor CURSOR FOR (SELECT a.PhoneId ...

  9. Http请求中请求头Content-Type 为 form-data、x-www-form-urlencoded、raw、binary的区别

    参考文献:http://blog.csdn.net/ye1992/article/details/49998511

  10. unity播放视频

    方法一: 1.用一个Quad(或者其他的)做屏幕,调整摄像机位置和它的大小,使它显示在你想要的区域 2.将视频拖入Unity,拖入,拖入,拖入:不是将视频直接copy到指定的文件夹中 3.将下面脚本挂 ...