先说一下程序

主窗体  ,两个子窗体A,B。嵌入主窗体的Panel里边

主窗体,启动类C里边的查找方法,查到的值,通过事件委托送到窗体A

C类里同时修改查询表,把修改的查询表通过事件委托发送给窗体B,

程序运行第一遍,步骤,主窗体查询,A,B窗体都能正常显示。

第二遍,A窗体正常显示,B窗体不能正常显示。内容没有更新

AB窗体内是datagridview控件

个人认为第二次失败原因是B窗体是由C类驱动的事件传递的,C类跟主窗体非一个类倒是,内容更新了而datagridview没有更新,本来datagridview通过DataSource 数据源绑定的方式更新,由于数据源绑定,修改后数据源,重新赋值就有不更新的情况存在,在网上也有相关文章,至于A

窗体第二遍为什么成功,可能是主窗体直接驱动的吧。具体原因我解释不清楚。

问题就出在datagridview更新上,通过datagridview.Rows.clear();提示数据源绑定的方式赋值,是没法通过行情空删除的,于是我在B窗体下边的类里就用了datagridview=null;然后再datasource=新的数据源。结果问题解决,

至于A为什么不用null更新成功呢?现在还是有些不明白,难道跟主窗体 的更新机制有关联吗? 期待大家给个看法

又看了一下B窗体内的datagridview 列表的属性第一次显示正常,第二次有不对应的情况

第一次查询的表

第二次查询的表

B表的属性在第二次的时候“已扫数量”变为“数量”,这个数量是绑定的数据源的数量

B的datagridview  第二例数量的属性

难道是这里不对应的问题?

把上边的两者统一起来,不 对B列表赋值NULL。结果还是不能更新。应该是与主窗体的更新机制有关吧

c#datagirdview ,用DataSource 方式赋值,然后更新出问题问题的更多相关文章

  1. python中的字符串常量,是否支持通过下标的方式赋值

    说明: 今天在看python,通过下标获取字符串常量的字符,在想是否可以通过下标的方式赋值. 操作: 1.对字符串下标赋值 >>> text='python' >>> ...

  2. 从 DevOps 到 Serverless:通过“不用做”的方式解决“如何更高效做”的问题

    作者 | 徐进茂(罗离) JAVA 开发工程师  导读:近年来,Serverless 一词越来越热,它已经逐渐成为了一种新型的软件设计架构.和 DevOps 概念提倡的是通过一系列工具和自动化的技术来 ...

  3. Win10系统升级更新方式将会更智能

    使用Win10系统的你肯定遇到过在工作时开始自动更新而不得不搁置工作的情况,想必你也已经被Win10系统的自动更新折磨不已,不过这种情况将会马上得到改观. 微软现在已经开始寻找更智能的版本升级更新方式 ...

  4. vue对组件以数组方式赋值的问题

    当从后台直接调接口返回数据 直接将数组array赋值给定义的变量,会导致组件无法更改其它值,例如多选框,多选下拉框,会导致无法选中其它的值,也无法取消当前已赋值的选中项 data() { return ...

  5. 解决DataGridView.DataSource重复赋值而不显示问题

    List<Person> list=new List<Person>(); ;i<;i++) { list.Add(new Person(){........}) } d ...

  6. spring4注解配置datasource方式

    package com.boot.config; import org.springframework.context.annotation.AnnotationConfigApplicationCo ...

  7. java 测试:iterator foreach for 三种迭代方式哪种更快?

    代码: public class main { public static void main(String[] p_args){ ArrayList<String> _l_string ...

  8. easyui的datagrid删除一条记录后更新出问题

    1.问题 如果先删除一条记录,然后不选中一条记录,去更新一条,默认是有选中的记录的,就是被删除的那条记录. 2.解决方法 $("#dg").datagrid('uncheckAll ...

  9. 【linux】linux 下 shell命令 执行结果赋值给变量【两种方式】

    方法1:[通用方法] 使用Tab键上面的反引号 例子如下: find命令 模糊查询在/apps/swapping目录下 查找 文件名中包含swapping并且以.jar结尾的文件 使用反引号 引住命令 ...

随机推荐

  1. Xena测试仪的自动化

    Xena,Xena Networks公司的网络测试仪,也能覆盖以太网L2~L7层测试仪,但功能较简单,界面也很简洁,用起来比较直观方便. 1.Xena的自动化测试场景 测试PC上的AT框架--> ...

  2. drawing

    /* 程序名:drawing..c 功能:展示OpenCV的图像绘制功能 */ #include "cv.h" #include "highgui.h" #in ...

  3. rabbitMQ学习(三)

    订阅/广播模式 发送端: import java.io.IOException; import com.rabbitmq.client.ConnectionFactory; import com.ra ...

  4. [转载]我的WCF之旅(1):创建一个简单的WCF程序

    为了使读者对基于WCF的编程模型有一个直观的映像,我将带领读者一步一步地创建一个完整的WCF应用.本应用功能虽然简单,但它涵盖了一个完整WCF应用的基本结构.对那些对WCF不是很了解的读者来说,这个例 ...

  5. vim 使用2 转载 为了打开方便

    http://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个 ...

  6. egrep 及扩展正则表达式

    grep -E 表示支持扩展的正则表达式 grep -E = egrep 一.字符匹配: 扩展模式下的字符匹配与基本正则表达式的字符匹配相同,如: . 表示任意单个字符 [] 表示范围内人任意单个字符 ...

  7. vim中 set 用法设置

    vi set用法from google search一.常用收集如下:(vi set)set autoindent     在插入模式下,对每行按与上行同样的标准进行缩进,与shiftwidth选项结 ...

  8. Redis从基础命令到实战之散列类型(Hash)

    从上一篇的实例中可以看出,用字符串类型存储对象有一些不足,在存储/读取时需要进行序列化/反序列化,即时只想修改一项内容,如价格,也必须修改整个键值.不仅增大开发的复杂度,也增加了不必要的性能开销. 一 ...

  9. Java学习基础1

    Java 平台: Java API JVM  特点:可跨平台  Java 运行机制:           编译                         运行 Java文件-------> ...

  10. 深入理解js——作用域

    "javaScript没有块级作用域",所谓"块",就是{}中间的内容.所以在声明变量的时候不要在"块"里面,要在一开始声明就好了. 其实j ...