设置DataSource后DateGridView不显示的问题
在一个WinForm小程序中,有两处需要用DataGridView控件显示数据。设置DataGridView.DataSource为数据查询结果后,第一个DataGridView可以正常显示数据,而第二个DataGridView没有任何反应。
具体代码如下:
- 第一个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不显示的问题的更多相关文章
- C# LIstbox 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题
解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题 分类: winform2008-05-24 02:33 2592人阅读 评论(11) 收藏 举报 winf ...
- 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”
解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合” 最近更新: 2013-2-15 587 很少写WinForm程序第一次使用ListBox控件就遇到了比 ...
- LaunchScreen.storyboard 设置图片后不显示(转)
LaunchScreen.storyboard 设置图片后不显示 将图片放在根目录下即可 3D85E99F-A79B-4419-817D-1417E1446624.png 转至:http://ww ...
- ComboBox控件“设置 DataSource 属性后无法修改项集合”的解决【转】
编写Winform程序,遇到comboBox的绑定事件和索引项变更事件的冲突问题,就是“设置 DataSource 属性后无法修改项集合”的错误问题,网上查了很多,大多说在索引项变更是进行非空判断,还 ...
- 【原】UILabel 设置了 attributedText 后省略号不显示
在开发中,对于一个 UILabel 我们都会设置 lineBreakMode 属性. 我在开发中就遇到个比较有意思的问题,所以就写了这篇博客,与大家共勉! 对于一个 UILabel ,我先设置了 se ...
- jmeter 通过csv data set config 设置参数化后,执行结果显示为<EOF>
通过csv data set config 设置参数化后,执行结果显示为<EOF>: 反复确认相应的参数的设置均没有问题,其中csv文件编码方式采用uft-8.在csv data set ...
- android开发之当设置textview多少字后以省略号显示。限制TextView的字数
设置多少字后以省略号显示 <TextView android:id="@+id/tv" android:layout_width="wrap_conten ...
- 解决Button设置disabled后无法执行后台代码问题
一.开始调式下面的程序,发现Button在js中设置disabled后无法执行后台代码(btnsave_Click)问题 <asp:Button ID="btnsave" r ...
- css实现超出一行后用省略号显示
css实现超出一行后用省略号显示 a{display:inline-block; text-overflow:ellipsis; white-space:nowrap; overflow:hidden ...
随机推荐
- zmap在阿里云主机上的编译
环境: cat /etc/issueUbuntu 14.04.2 LTS \n \l cat /proc/cpuinfoprocessor : 0vendor_id : GenuineIntelcpu ...
- 日常总结——JSP篇(补)
序—— 初次接触JSP,写一个登录注册界面 正文—— JSP介绍:JSP通过在标准的HTML页面中插入java代码,其静态的部分无须java程序控制.每个JSP页面就是一个servlet实例, WEB ...
- Spring学习笔记之二----基于XML的Spring AOP配置
在Spring配置文件中,通常使用<aop:config>元素来设置AOP,其中应包括: <aop:aspect>指定aspect,aspect是一个POJO类,包含了很多的a ...
- push or get File or Folder using scp wrapped with expect and bash
经常需要把服务器的某些文件传到 Mac,或者获取 Mac 的一些文件到服务器.尽管有很多命令scp, ftp, rsync都可以,霸特每次都有敲好长的命令,好烦,而且还要输入密码.所以想着 wrap ...
- iOS开发随笔
突然看到一个搞11年IT的前辈 他的简历给人焕然一新的感觉 IOS:深入理解object-c语言 内存管理(ARC,MRC, 写回传),GCD,RunLoop,RunTime,,Block,Deleg ...
- 安装win7的那些事
由于win7系统只支持MBR格式的分区,如果强行将win7安装到UEFI分区方式的硬盘上将不能启动,所以,如果你要给别人的win8或者win10的OEM系统安装win7的话,记得先将重要数据备份出去, ...
- Editplus配置VC++(2) 与/d1reportSingleClassLayout
前篇文章:Editplus配置VC++(1) 及相关注意事项 VC++有两个隐含编译选项/d1reportSingleClassLayout和/d1reportAllClassLayout /d1 ...
- 进军Linux
大二的时候学习Java,学完Java SE之后就放弃了这条道路,踏上了嵌入式之路.那时候约定好,选择了DSP,从C2000开始学起,基础仅仅是会C51,有C语言和Java的基础.这几年随着项目的需求变 ...
- ABAP代码编辑器设置--界线
ABAP编辑器每行允许的最大字符数: Utilities->Settings打开选项卡: 勾选:Downward-Compat.line Length(72) 设置后看到的效果: 设置步骤:
- 在ubuntu 14.04上安装2.6的内核
1.到http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.tar.bz2这里下载最新的稳定版内核: 2.根据各自系统,安装如下软件:l b ...