在一个WinForm小程序中,有两处需要用DataGridView控件显示数据。设置DataGridView.DataSource为数据查询结果后,第一个DataGridView可以正常显示数据,而第二个DataGridView没有任何反应。

具体代码如下:

  1. 第一个datagridview的相关代码部分:
OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=test.mdb;");
var commandText = "SELECT * FROM AAA";
var command = new OleDbCommand(commandText, connection);
List<TesionData> tesionDatas = new List<TesionData>();
connection.Open();
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
var tesionData = new TesionData
{
ID = reader["aa"].ToString(),
Beach = reader["bb"].ToString(),
Hook = reader["cc"].ToString(),
};
tesionDatas.Add(tesionData);
}
reader.Close();
connection.Close();
DataGridView1.DataSource = tesionDatas;

2. 第二个DataGridView代码部分

与第一个相比,数据读取部分相差不大,区别是分别从两个表中取得数据,然后用了Linq得到一个匿名类的list

var join = from s in sampleRegisters
join t in tensionDatas
on s.Beach equals t.Beach
select new { Beach = s.Beach, Hook = s.Hook, Beacht =t.Beach, Hookt = t.Hook };
DataGridView2.DataSource = join;

经过检查,join已经得到了正确的数据,这段代码没有什么运行时错误,可就是不能显示数据。

对比这两个过程,本质的区别就在赋值给DataSource的变量上,第一个是List<类名>,第二个是一个匿名类的List。

难道join没有被执行吗?改成如下代码,终于成功显示了相关数据,区别在高亮部分:

var join = from s in sampleRegisters
join t in tensionDatas
on s.Beach equals t.Beach
select new { Beach = s.Beach, Hook = s.Hook, Beacht =t.Beach, Hookt = t.Hook };
DataGridView2.DataSource = join.ToList();

设置DataSource后DateGridView不显示的问题的更多相关文章

  1. C# LIstbox 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题

    解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题 分类: winform2008-05-24 02:33 2592人阅读 评论(11) 收藏 举报 winf ...

  2. 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”

    解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合” 最近更新: 2013-2-15    587   很少写WinForm程序第一次使用ListBox控件就遇到了比 ...

  3. LaunchScreen.storyboard 设置图片后不显示(转)

    LaunchScreen.storyboard 设置图片后不显示 将图片放在根目录下即可 3D85E99F-A79B-4419-817D-1417E1446624.png   转至:http://ww ...

  4. ComboBox控件“设置 DataSource 属性后无法修改项集合”的解决【转】

    编写Winform程序,遇到comboBox的绑定事件和索引项变更事件的冲突问题,就是“设置 DataSource 属性后无法修改项集合”的错误问题,网上查了很多,大多说在索引项变更是进行非空判断,还 ...

  5. 【原】UILabel 设置了 attributedText 后省略号不显示

    在开发中,对于一个 UILabel 我们都会设置 lineBreakMode 属性. 我在开发中就遇到个比较有意思的问题,所以就写了这篇博客,与大家共勉! 对于一个 UILabel ,我先设置了 se ...

  6. jmeter 通过csv data set config 设置参数化后,执行结果显示为<EOF>

    通过csv data set config 设置参数化后,执行结果显示为<EOF>: 反复确认相应的参数的设置均没有问题,其中csv文件编码方式采用uft-8.在csv data set ...

  7. android开发之当设置textview多少字后以省略号显示。限制TextView的字数

    设置多少字后以省略号显示 <TextView    android:id="@+id/tv"   android:layout_width="wrap_conten ...

  8. 解决Button设置disabled后无法执行后台代码问题

    一.开始调式下面的程序,发现Button在js中设置disabled后无法执行后台代码(btnsave_Click)问题 <asp:Button ID="btnsave" r ...

  9. css实现超出一行后用省略号显示

    css实现超出一行后用省略号显示 a{display:inline-block; text-overflow:ellipsis; white-space:nowrap; overflow:hidden ...

随机推荐

  1. MIL 多示例学习 特征选择

    一个主要的跟踪系统包含三个成分:1)外观模型,通过其可以估计目标的似然函数.2)运动模型,预测位置.3)搜索策略,寻找当前帧最有可能为目标的位置.MIL主要的贡献在第一条上. MIL与CT的不同在于后 ...

  2. Android USB Host与HID通讯

    前端时间捣鼓一个HID的硬件, 需要和android通信, 网上搜索了一圈,收获不小. 比较好的文章是:      Android USB Host与HID通讯 Android Service创建US ...

  3. MySQL的create table as 与 like区别

    对于MySQL的复制相同表结构方法,有create table as 和create table like 两种,区别是什么呢? ? 1 create table t2 as select * fro ...

  4. 剖析javascript全局变量和局部变量

    首先要记住: javascript是弱类型语言,它只有一种变量类型(var),为变量赋值时会自动判断类型并进行转换. 全局变量和局部变量如何声明? 全局变量声明: 第一种方式(函数外) var a; ...

  5. insmod过程详解【转】

    转自:http://blog.csdn.net/chrovery/article/details/51088425 转自 http://blog.chinaunix.net/xmlrpc.php?r= ...

  6. ftp发送文件

    #!/bin/bash #author:luyongjin IP=220.250.65.22 USERNAME='ftp_hangye20' PASSWORD='oUo2JD7oK#u-epw' #D ...

  7. angular-select绑定之后option不能更新问题

    使用ng-option-- http://jsfiddle.net/sseletskyy/uky9m/1/ 以及select中加入自定义指令  convert-to-number .directive ...

  8. android使用默认程序进行图片拍照已经裁剪,以及设备读取

    //代码如下: package com.cbsw.yulechangsuo.activity; import java.io.File;import java.io.FileInputStream;i ...

  9. C++ STL中的 iterator 和 const_iterator

    我们在C++中使用STL的容器时,经常会用到迭代器.使用迭代器可以很方便的进行容器元素遍历和修改等操作. 近日,在使用Visual Studio 2015编程的时候发现,set的迭代器直接就是cons ...

  10. java.sql.SQLException: ORA-00001: 违反唯一约束条件 (SCOTT.SYS_C0011456)

    我tb_user数据库的主键是id,在这个java程序中: String sql="insert into tb_user(id,USER_NAME,USER_PASSWORD) value ...