lijinchang

导航

2011年8月23日 #

DataGridView导出成excel实例

摘要: public void ExportExcel(object Sender, EventArgs e) { DataGridView dt = this.dataGridView1; if (dt.Rows.Count == 0) { MessageBox.Show("没有数据可供导出,请先抓去数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { SaveFileDialog saveFileDialog2 = new SaveFileDialog( 阅读全文

posted @ 2011-08-23 14:10 lijinchang 阅读(214) 评论(0) 推荐(0) 编辑

2011年7月27日 #

今天写的一个导出html页面的过程

摘要: private string ExportHtml() { string msg = ""; try { #region string fileName = Application.StartupPath + "\\模板\\template.htm";//模板路径 DataTable tb = SqlModel.Query("SELECT A.*,B.DD0022_002,ISNULL(X.DD0022_002,'')AS 股票代码,ISNULL(X.DD0022_002,'')AS 债券代码,ISNULL(Y. 阅读全文

posted @ 2011-07-27 16:12 lijinchang 阅读(543) 评论(0) 推荐(0) 编辑

2011年5月17日 #

异步执行小例子

摘要: 我们要明确,为什么要进行异步回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络传输等),都会导致方法阻塞,表现在界面上就是,程序卡或者死掉,界面元素不动了,不响应了。异步方法很好的解决了这些问题,异步执行某个方法,程序立即开辟一个新线程去运行你的方法,主线程包括界面就不会死掉了。异步如何开始,好理解,现在我们讨论的是如何结束这个异步出来的新线程。首先,异步出来的新线程,必须回收,不回收是浪费资源的可耻行为,.NET也是不允许的,所以你别想钻空子,俗话说,请神容易送神难,就是这个道理。下面你可以很容易想到,回收分为2种情况:主动回收和被动回收(当 阅读全文

posted @ 2011-05-17 06:58 lijinchang 阅读(1441) 评论(3) 推荐(1) 编辑

2011年5月3日 #

利用委托的BeginInvoke防止界面假死的实例

摘要: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Threading;namespace WinBeginInvoke{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private delegat 阅读全文

posted @ 2011-05-03 16:47 lijinchang 阅读(412) 评论(0) 推荐(0) 编辑

2011年4月24日 #

C#自动登录网页浏览页面 抓取数据

摘要: http://www.cnblogs.com/netwom/articles/953430.html public static string PostAndGetHTML(string targetURL,CookieContainer cc, Hashtable param) { //prepare the submit data string formData = ""; foreach (DictionaryEntry de in param) { formData += de.Key.ToString() + "=" + de.Value.To 阅读全文

posted @ 2011-04-24 18:37 lijinchang 阅读(493) 评论(0) 推荐(0) 编辑

2011年3月3日 #

TreeView递归法动态添加节点

摘要: http://archive.cnblogs.com/a/1276449/ 阅读全文

posted @ 2011-03-03 17:28 lijinchang 阅读(184) 评论(0) 推荐(0) 编辑

2011年2月22日 #

多线程操作的例子

摘要: using System;using System.Collections.Generic;using System.Text;using System.Threading;namespace ConsoleApplication5{ public class Contract { private string id; private string from; private string to; private decimal fee; public string ID { get { return id; } private set { id = value; } } public str 阅读全文

posted @ 2011-02-22 14:38 lijinchang 阅读(164) 评论(0) 推荐(0) 编辑

2011年1月11日 #

静态变量、静态方法说明

摘要: C#中static类型的变量和方法1、定义了变量和方法不知道什么时候该加上static修饰符。2、static变量和方法与非static变量和方法有什么区别?3、在一个类的静态方法里为什么不能访问该类的非静态成员变量和方法?4、在一个类的非静态方法中为什么可以访问该类的静态变量和方法?5、在静态方法中为什么不能用this?6、静态构造函数有什么作用?基于以上问题,我发表自己的看法如下:1、static变量及方法不用实例化对象就可以用类名.静态变量和类名.静态方法这种方式进行访问,这使得访问更加方便,不用手工实例化对象。对于某些只读变量和方法来说很适合共享。2、static与非static最大的 阅读全文

posted @ 2011-01-11 16:38 lijinchang 阅读(1303) 评论(0) 推荐(0) 编辑

2011年1月5日 #

datatable序列化成xml,xml反序列化成datatable

摘要: 引用命名空间using System.Runtime.Serialization;using System.Runtime.Serialization.Formatters.Soap;using System.Runtime.Serialization.Formatters.Binary;using System.Xml;using System.Xml.Serialization;然后调用下面的过程/// summary /// 序列化成xml /// /summary /// param name="dt"/param /// param name="dtname"/ 阅读全文

posted @ 2011-01-05 15:31 lijinchang 阅读(715) 评论(0) 推荐(0) 编辑

xmlReader遍历xml文档案例

摘要: class Test { public static void Main(string[] args) { string path = "d:\\books.xml"; XmlReader reader = null; try { // 创建XmlReaderSettings对象 XmlReaderSettings settings = new XmlReaderSettings(); // 设置XmlReaderSettings对象的属性 settings.ProhibitDtd = false; // 使用XmlReaderSettings对象来创建XmlReader对象 reader 阅读全文

posted @ 2011-01-05 10:48 lijinchang 阅读(674) 评论(0) 推荐(0) 编辑