(1)前言使用了VS好多年,一直认为制作报表是件很头痛的事,不是自己没有研究过,但说真的的确是很头痛的事,尤其是C#下面的各种数据绑定,网上蜡人张的BLOG对RDLC就有很透彻的详细说明,我看了半天,就给那些报表结构回路搞得莫名其妙,大师级别的人果然功力与我不一样。因为项目的需要,这两天回炉一下自己从前的报表知识,顺便写篇东西,好让后来者别多太多像我一般的无谓脑力跟体力劳动。本人是位明显的实用主义
这个问题事实上涉及了线程间的通讯问题,对了,这就需要delegate这个东西了。尽管可以通过某种方法可以在线程内部调用WinForm主窗体的控件,但这不是安全的做法,在.NET2.0之后会提示“线程间操作无效”,而常规的做法是使用delegate的类型,通过异步机制调用主窗体的控件。之前为了这个在网上搜索了不少的文章,因为个人经验不足,在Invoke跟delegate两个东西的解释上我就用了不少的
其实,我至今为止还不清楚delegate的用法,反正在线程间或进程间的数据交互大多需要此关键字来实施,我在上一篇博文用了C#函数指针的方法进行参数的跨线程传递,现在则采用更为常规的办法——消息响应。说实话,C#下面的消息响应方式还真不好理解,远没有C++下的映射好理解。事实上,我们可以通过双击窗体,在工程自动添加的消息响应函数来观察一下,如下所示:this.Load += new System.E
在C++下面,指针是一个让人欢喜让人忧的东西,其强大无比,个人经验来看,50%的BUG都是指针的问题,前不久用心看了一下C++下面的函数指针,感觉相当好用,尤其是对于类的封装而言,其作用类似MFC下面的消息响应,但消息响应似乎只是CWnd下面的东西,如果想将类A调用类B的函数,函数指针是个很正常的选择。函数指针,个人而言,多数是当消息响应来用,这个思路可能是由于受Action Script的方法影
在ASP.NET中的GridView控件在显示绑定数据时有一个RowDataUpdated事件,在其事件响应函数里可以逐行扫描每行所绑定的数据,根据需要可以修改GridView显示的格式或Value等,比较方便。 而在WinForm工程中,与之类似的DataGridView控件,只有RowsAdded事件与之类似,但与GridView不同的是,RowsAdded事件的响应不像RowDataUpd
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号