DataGrid 的DataSource重新加载数据,若直接重新给DataSource赋值是没有效果的,若只是修改原有数据中的单个值,此方法有效,但是针对完全不一样的数据直接重新赋值的方式是无效的,此时需要先删除DataSource原有的数据,再赋给它新的值。

删除方式:

1.

DataGridView1.DataSource =null 此方式会将之前自定义现实的列删除(相当于删除结构),再次赋值DataGridView1显示的列就会按照赋值的数据源来显示,之前有自定义显示列的话就会失效。

2.

DataTable dt = (DataTable)DataGridView1.DataSource;
dt.Rows.Clear();

DataGridView1.DataSource=dt;此方式试的时候老是报DataGridView1.DataSource强制转坏失败的错误(ps:可能是代码那个地方没有写对)

3.

从以上方式2总结出,其实清空的原理就是按照原来赋值的数据源结构,赋一个空的值给DataSource

假如之前赋的一个InfoDto的类型数据给DataSource ,此时清空DataSource 只需要一个空的InfoDto类型数据如下:

List<InfoDto> orderDtoNull= new List<InfoDto>();
DataGridView1.DataSource = orderDtoNull;

4.(推荐)

在重新赋值之前将数据源ToList()一下

DataGridView1.DataSource=OrderList.ToList();

原理:个人理解大概的意思是DataSource重新加载之前是使用的OrderList的原数据地址,后面虽然OrderList变了但是DataSource使用的数据地址没有变,ToList()之后就会将OrderList的新地址传给DataSource

此时重新赋值之后DataSource的数据就会有变化。

重新赋值:

根据以上方式之一的方式清空后只需再次将新的数据赋给DataSource 即可。

DataGridView1.DataSource = orderDtoNew;

ps:如果大家有更好的方式,欢迎留言!!!

DataGrid 的DataSource重新加载数据的更多相关文章

  1. jquery easyui使用(三)······datagrid加载数据(已解决)

    <div id="table_Data"> </div> $("#table_Data").datagrid({ toolbar: '# ...

  2. DataGrid缓冲加载数据

    当datagrid的滚动条拉到4/3的时候去加载数据.. public MainWindow() { InitializeComponent(); ; i <= ; i++) { Class1 ...

  3. 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中

    背景:   昨天帮朋友做一个easyui datagrid的小实例时,才发现easyui datagrid的checkbox列,没有根据值为true或false来选中checkbox,当时感觉太让人失 ...

  4. Easyui datagrid加载数据时默认全选的问题

    问题描述: 最近使用 Easyui datagrid 展示数据,之前一直使用很正常,今天出现了一个怪异问题 加载数据后,只要点击选中列 ck 的任意行或多行,再刷新时整个datagrid的所有数据都 ...

  5. easyui datagrid 异步加载数据时滚动条有时会自动滚到最底部的问题

    在使用easyui 的datagrid异步加载数据时发现滚动条有时会自动滚到最底部.经测试发现,如果加载数据前没有选中行则不会出现这个问题.这样我们可以在重新异步加载数据前取消选中行就可以避免这个问题 ...

  6. (转帖)关于easyui中的datagrid在加载数据时候报错:无法获取属性"Length"的值,对象为null或未定义

    结贴说明: 很感谢sp1234等人的热心帮忙和提醒,现在我主要说明下问题所在: 首先我在独立的js文件中,直接把测试数据loaddata进去datagrid是没有问题的.var kk = {" ...

  7. datagrid 根据指定参数重新加载数据

    $('#statisticalRecordList').datagrid('reload',{ start_date:$('#dd1').datebox('getValue'), end_date: ...

  8. winform异步加载数据到界面

    做一个学习记录. 有两个需求: 1.点击按钮,异步加载数据,不卡顿UI. 2.把获取的数据加载到gridview上面. 对于需求1,2,代码如下: public delegate void ShowD ...

  9. DevExpress的GridControl的实时加载数据解决方案(取代分页)

    http://blog.csdn.net/educast/article/details/4769457 evExpress是一套第三方控件 其中有类似DataGridView的控件 今天把针对Dev ...

随机推荐

  1. Html介绍,认识html文件基本结构

    一个HTML文件的基本机构如下: <html><head>...</head><body>...</body></html>代码 ...

  2. Pycharm每次新建工程都要重新安装相关库的解决办法

    之前自己每次重建工程时,都不厌其烦的重新安装了第三方的库,直接在pycharm的terminal中利用pip安装,或者鼠标放在所需库的红色波浪线上 直接点击Install Package XXX 后面 ...

  3. day 8 函数编程_byets

    定义 bytes类型是指一堆字节的集合,在python中以b开头的字符串都是bytes类型 b'\xe5\xb0\x8f\xe7\x8c\xbf\xe5\x9c\x88' #b开头的都代表是bytes ...

  4. Electron – 基础学习(2): 项目打包成exe桌面应用 之electron-packager

    项目创建完成,启动正常,接下来就是项目打包了.将测试Demo打包成exe桌面应用,点击exe文件,运行项目. 书接上文,创建项目有三种方式 Git拷贝.直接创建:通过electron社群提供的命令行工 ...

  5. 制作MySQL RPM安装包Spec

    适用环境: 数据库版本:MySQL 操作系统:CentOS 7 制作思路: 将数据库初始化和配置工作放到安装脚本中方便定制: 1.打包MySQL应用目录 2.不自动生成配置文件 3.不自动生成数据目录 ...

  6. libgdiplus安装配置

    1.下载安装包:wget http://download.mono-project.com/sources/libgdiplus/libgdiplus0-6.0.4.tar.gz2.解压缩.编译安装 ...

  7. CodingPlus Blog Update Info

    CodingPlus更新啦! 我就是记录一下!您想知道现在的博客是第几代的吗?您想知道CodingPlus博客的发展历程吗?来,让我们一起看看! V3.5 最新版了! V3.5.0 很多人看到自然觉得 ...

  8. PHP0011:学生信息管理案例

    PHP中 html js 混合用

  9. MySQL char与varchar 的区别

    一.差异 1.占用存储空间上 char 初始化时占固定空间,varchar依据插入内容大小使用空间. 2.char最大字符长度255个(约0.1KB),varchar则是65535(约192KB). ...

  10. linux查找含有xxx内容的文件

    find . -name *.json |xargs grep "6379" |awk '{print $1}'|uniq