自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kc

我想做什么....

  • 博客(46)
  • 资源 (29)
  • 收藏
  • 关注

原创 UTP和TCP他们的区别

[b]UTP[/b][b]和[/b][b]TCP[/b][b]他们的区别在哪,具体是什么?[/b]TCP/IP协议族为运输层指明了两个协议:TCP和UDP。它们都是作为应同程序和网络操作的中介物。 运输层协议通常具有几种责任。一种是创建进程到进程的通信;UDP和TCP使用端口来完成这种通信。另一种责任就是在运输层提供控制机制。UDP在一个非常低的水平上完成这个功能。UDP没有流量控制机制,在收到分

2009-01-27 22:24:00 12985

原创 完成验证

我们已经介绍了Ajax技术,也知道了如何使用XMLHttpRequest对象,现在要把它们结合起来,该怎么做呢?哪些情况下需要应用Ajax技术?当然,Ajax的潜力几乎是无穷尽的,关于Ajax的使用,灵感可能源源不断。本章将展示一些例子,在这些情况下,使用Ajax技术可以让应用突飞猛进。有些情况是一目了然的,有些则不是。不过无论怎样,对Ajax应用积累的经验越多,你就越会找到自己的方法来改善应用。

2009-01-26 22:31:00 2404

原创 发送请求参数

到此为止,你已经了解了如何使用Ajax技术向服务器发送请求,也知道了客户可以采用多种方法解析服务器的响应。前面的例子中只缺少一个内容,就是你尚未将任何数据作为请求的一部分发送给服务器。在大多数情况下,向服务器发送一个请求而没有任何请求参数是没有什么意义的。如果没有请求参数,服务器就得不到上下文数据,也无法根据上下文数据为客户创建“个性化”的响应,实际上,服务器会向每一个客户发送同样的响应。要想

2009-01-26 22:10:00 1590

原创 处理服务器响应

XMLHttpRequest对象提供了两个可以用来访问服务器响应的属性。第一个属性respo-nseText将响应提供为一个串,第二个属性responseXML将响应提供为一个XML对象。一些简单的用例就很适合按简单文本来获取响应,如将响应显示在警告框中,或者响应只是指示成功还是失败的词。第2章中的例子就使用了responseText属性来访问服务器响应,并将响应显示在警告框中。3.1.1

2009-01-26 21:49:00 1085

原创 GET和POST

你可能想了解GET和POST之间有什么区别,并想知道什么时候使用它们。从理论上讲,如果请求是幂等的就可以使用GET,所谓幂等是指多个请求返回相同的结果。实际上,相应的服务器方法可能会以某种方式修改状态,所以一般情况下这是不成立的。这只是一种标准。更实际的区别在于净荷的大小,在许多情况下,浏览器和服务器会限制URL的长度URL用于向服务器发送数据。一般来讲,可以使用GET从服务器获取数据;换句话说,

2009-01-26 16:42:00 557

原创 标准Ajax交互

看到这里,你可能想知道典型的Ajax交互是什么样。图2-1显示了Ajax应用中标准的交互模式。图2-1 标准Ajax交互不同于标准Web客户中所用的标准请求/响应方法,Ajax应用的做法稍有差别。1. 一个客户端事件触发一个Ajax事件。从简单的onchange事件到某个特定的用户动作,很多这样的事件都可以触发Ajax事件。可以有如下的代码:2. 创建XMLHttpRequ

2009-01-26 16:38:00 1367

原创 远程脚本

基本说来,远程脚本是一种远程过程调用类型。你可以像正常的Web应用一样与服务器交互,但是不用刷新整个页面。与Ajax类似,你可以调用任何服务器端技术来接收请求、处理请求并返回一个有意义的结果。正如在服务器端有很多选择,客户端同样有许多实现远程脚本的选择。你可以在应用中嵌入Flash动画、Java applet,或者ActiveX组件,甚至可以使用XML-RPC,但是这种方法过于复杂,因此除非你使用

2009-01-26 16:36:00 731

原创 2.6 如何发送简单请求

最简单的请求是,不以查询参数或提交表单数据的形式向服务器发送任何信息。在实际中,往往都希望向服务器发送一些信息。使用XMLHttpRequest对象发送请求的基本步骤如下:1. 为得到XMLHttpRequest对象实例的一个引用,可以创建一个新的实例,也可以访问包含有XMLHttpRequest实例的一个变量。2. 告诉XMLHttpRequest对象,哪个函数会处理XMLHttpR

2009-01-26 16:22:00 590

原创 关系运算符和等于运算符

有些Groovy控制语句,如if和while控制语句(参见第8章),通常会使用条件(condition)来进行判断。条件决定表达式的值为真或者假。关系运算符、等于运算符和逻辑运算通常被用于构造条件表达式(附录C会详细讨论逻辑运算符)。关系运算符如表2-5所示。四种运算符均为二元运算符,每种运算符都使用两个算术表达式作为操作数,并且得出布尔型结果true或者false。true和false都是B

2009-01-25 03:22:00 1660

原创 赋值

赋值运算符(assignment operator)允许将某个数值赋给一个程序变量。赋值语句的最简单形式是:variable = expression赋值运算符(=)的作用是,先求赋值表达式右边的值,然后将计算的结果赋给它左边的变量。下面是赋值语句的一些例子:interest = principal * rate * time / 100speed = distance / timet

2009-01-25 03:21:00 537

原创 自增和自减运算符

Groovy也支持两个一元运算符,以实现对某个数字变量的加一或者减一操作。一元运算符是指应用于一个操作数的运算符。通常,它们就是所说的自增运算符++和自减运算符--。比如,value = value + 1可以写成:value++同样,也可以使用value--来替代value = value - 1严格地说,把自增或者自减运算符放在变量的前面,也经常被称为前置自增或者前置自减运算法,表示对

2009-01-25 03:21:00 1122

原创 对象引用

在赋值语句age=25中,使用Groovy的动态类型(dynamic typing)功能。age变量所引用值的类型是在其运行过程中,而不是在编译时确定的。动态类型通常会使程序变得更为简洁,这也是Groovy之所以简洁与灵活的的主要原因。执行此赋值语句时会创建一个Integer对象,并将25赋值给它,变量age的引用关系如图2-1所示。图2-1 变量与对象引用原文

2009-01-25 03:21:00 406

原创 运算符优先级

像通常一样,Groovy表达式也是根据运算符的优先级来计算的。运算符的运算次序或者优先级决定了算术表达式的计算次序。表2-4列举基本算术运算符的运算顺序(如想获得全部的列表,以及有关运算符结合性方面的更深入知识,请参见附录C)。从表2-4可以看出,乘法、除法和取模运算符具有相同的最高优先级,而加法和减法运算符具有相同的最低优先级。在同时含有这些运算符的表达式中,将首先执行所有的乘法、除法以及取

2009-01-25 03:20:00 1407

原创 表达式

2.2 表达式Groovy提供大量适用于数值类型的运算符,包括常见的算术运算符、比较运算符、位运算符,以及其他各种类型的运算符。表达式(expression)通常用来描述某些计算行为,由运算符和操作数组成。算术运算符(arithmetic operator)包括加法(+)、减法(-)、乘法(*)和除法(/)。Groovy同样也支持取模运算符,用百分号表示(%);取模运算用来计算两个整数相除的余

2009-01-25 03:19:00 825

原创 数值

2.1 数值Groovy支持整数和浮点数。整型值没有分数部分。浮点数是包含十进制小数部分的十进制数。整数可能是正数、负数或者零。12345、-44和0是常见的整数形式。就像前面说到的那样,它们都是Integer类的实例。有小数部分的数值是BigDecimal类的实例。浮点数的例子如1.23,-3.1415926。请注意,浮点数必须避免以小数点开始,防止出现混淆,比如必须使用0.25,而

2009-01-25 03:18:00 362

原创 为什么使用Groovy

Java编译器会产生可以在Java虚拟机上运行的字节码。Groovy类和Java是二进制兼容的。这意味着,Groovy编译器产生的字节码与Java编译器产生的字节码是完全一样的。因此,对JVM而言,Groovy和Java是完全一样的。这就等于说,Groovy能够完全使用各种Java API,诸如用于数据库开发的JDBC(Fisher et al., 2003),以及用于开发GUI应用程序的Swin

2009-01-25 03:16:00 1751

原创 数值和表达式

在本章中,将集中讨论如何使用Groovy来处理基本的数值类型。在这个过程中,尤为重要的是,必须认识到Groovy是一门面向对象的语言。这也就是说,Groovy中每一个事物最终都会被当作某些类的一个实例对象。举例来说,在Groovy中,大家非常熟悉的整数123实际上是Integer类的一个实例。为使用一个对象以实现相关功能,必须调用所属类声明的某个方法。因此,在Groovy环境下,可以使用123.a

2009-01-25 03:16:00 662

原创 为什么使用脚本语言

本书第1章简要介绍Groovy,这是设计用来增强Java平台的唯一的脚本语言。它提供类似于Java的语法,内置对如下主题的支持:映射(Map)、列表(List)、方法、类、闭包(closure),以及生成器。依赖于动态的弱类型,以及对Java应用程序接口(API)的无缝访问,Groovy语言非常适合于开发小型和中型应用程序。1.1 为什么使用脚本语言一般来说,脚本语言,比如Groovy,具

2009-01-25 03:14:00 673

原创 EJB 3.0和Spring的抉择

本文比较了EJB 3.0和Spring在传递POJO服务时采用的不同方法,供大家参考!EJB 3.0和Spring在传递POJO服务时采用了完全不同的方法,这使得开发者在实施POJO时不得不进行艰难的选择。 对于POJO的开发,存在着两种框架EJB 3.0和Spring,这两个框架组件的核心设计理念是相同的:把中间件服务传递给松散耦合的简单旧式Java对象(POJO)。这些框架组件通过在运

2009-01-25 00:55:00 374

原创 EJB的存根和骨架的工作原理(5)

拿Weblogic上的EJB举例子,10个class分别是:Bean类:HelloBean (用户编写)Bean类的Weblogic实现类:HelloBean_Impl (EJBC生成)Home接口:HelloHome (用户编写)Home接口的Weblogic实现类 ((Hello Bean))_HomeImpl(EJBC生成)Home接口的Weblogic实现类的stub类 ((Hello

2009-01-25 00:35:00 632

原创 EJB的存根和骨架的工作原理(3)

从第二步开始,就是我们的关注所在,虽然只有简单的一行代码,UserService object = home.create(); 但是他背后的系统是怎么运做的呢?我们进入代码来看吧!1、调用home.create() 代码:UserServiceHome home; UserService obj = home.cre

2009-01-25 00:31:00 595

原创 EJB的存根和骨架的工作原理(4)

4、Skeleton调用的是UserService的Server端实现类的getUserInfo方法 代码: EJSRemoteStatelessUserService_a940aa04.getUserInfo() { UserServiceBean _EJS_beanRef = container.preInvoke(this, 0, _EJS_s); _EJS_re

2009-01-25 00:31:00 466

原创 EJB的存根和骨架的工作原理(2)

摘要:本文是作者对EJB工作原理的学习笔记,包括有RMI工作原理、Websphere实现、Weblogic实现和自己总结的理解体会,供大家参考! 5、最后一个,Client的实现代码:public class PersonClient { public static void main(String [] args) { try { Person person =

2009-01-25 00:30:00 605

原创 EJB的存根和骨架的工作原理(1)

摘要:本文是作者对EJB工作原理的学习笔记,包括有RMI工作原理、Websphere实现、Weblogic实现和自己总结的理解体会,供大家参考!一、RMI工作原理RMI的本质就是实现在不同JVM之间的调用,它的实现方法就是在两个JVM中各开一个Stub和Skeleton,二者通过socket通信来实现参数和返回值的传递。 有关RMI的例子代码网上可以找到不少,但绝大部分都是通过exte

2009-01-25 00:29:00 615

原创 Groovy轻松入门——Grails实战之Web Flow篇

摘要:Spring Web Flow是Spring家族中的一位成员,他能简化Web应用的开发。在Grails0.6中就集成了Spring Web Flow这一Web应用开发利器。下面通过一个实例向大家展示一下在Grails中如何方便的使用Spring Web Flow。 Spring Web Flow是Spring家族中的一位成员,他能简化Web应用的开发。在Grails0.6中就集成了Spr

2009-01-25 00:28:00 2730

原创 在Groovy1.0中使用闭包和集合

摘要:闭包是很多动态语言提供的一个很方便的功能,它有点像Java中的内部类,不同的是闭包中只有一个方法,但这个方法可以有任意个参数。 1、闭包闭包是很多动态语言提供的一个很方便的功能,它有点像Java中的内部类,不同的是闭包中只有一个方法,但这个方法可以有任意个参数。java 代码这段代码会输出”hello world”。1. def closure = { param

2009-01-25 00:26:00 488

原创 Groovy高效编程——动态改变对象的能力(2)

而从Groovy1.1beta-3开始,Groovy的动态性有了进一步的增强:我们可以通过respondsTo和hasProperty方法来判断是否存在某个方法和某个属性:class Person {String namepublic Person(name) {this.name = name}def introduce() {println "Im $name"}de

2009-01-25 00:25:00 591

原创 Groovy高效编程——动态改变对象的能力(1)

从Groovy1.1beta-2开始,实现动态改变对象的能力变的十分简单:一开始,我们有这样一个类:class Person {String name}该类的实例都是哑巴,不能说话,作为造物主的我们该完善它们,使它们能自我介绍(添加实例方法): class Person {String name}// 添加自我介绍的行为Person.

2009-01-25 00:24:00 640

原创 Groovy高效编程——‘匕首方法’的使用

Groovy提供了许多‘匕首方法’来提升开发者的开发效率,但常被Java开发人员忽视。在这篇随笔中我将为您演示各方法的使用。Groovy提供了许多‘匕首方法’(匕首,短小精悍也~如each,eachWithIndex, any,every,grep,join,sort,find,findAll,collect,groupBy,inject,reverse, tokenize, unique,m

2009-01-25 00:23:00 591

原创 Groovy高效编程——统计单词频率

摘要:Groovy横空出世,她几乎兼容Java的所有语法,Groovy至少已经具备了继承未来主流语言王位的必要条件--语言本身是利用当前主流语言所编写,并与当前主流语言的语法相似,且能够结束当前主流语言的弊病。 在搜索引擎,语音识别等领域常会统计单词的出现频率,下面给出Groovy实现,打印出现频率最高的6个单词以及相应的出现次数:  def content

2009-01-25 00:22:00 856

原创 Groovy轻松入门——Grails实战之Ajax篇

Ajax虽是“旧酒装新瓶”,但其威力着实不小。近两年来可谓红透半边天,它之所以能为大众接受,其中一个很大的原因就是提高了用户浏览体验,能更逼真的模拟出GUI界面。好了,Ajax的益处就说到这里,下面让我们看下Grails是如何帮助我们方便地应用Ajax的:如果您对下面说设计的内容有点不解,那么您可以先看一下 Groovy轻松入门——Grails实战基础篇,然后开始我们的Ajax之旅。1,

2009-01-25 00:20:00 866

原创 Groovy轻松入门——Grails实战之GORM篇

摘要:GORM就是以前我刚学Groovy没多久时想实现的功能,它使开发人员不需要关心数据库方面,也不需要任何配置,只需专心用OO思想设计自己的系统,还有一个好处就是开发时不用备份数据库,因为GORM会自动帮你建表以及约束(但数据库需要你自己建),让我们来看一下用Grails开发是多么简单高效吧! 在写域类时,无须添加与业务无关的属性,比如在用Hibernate时,我们需要(不强制)在类中定

2009-01-25 00:19:00 1088

原创 Groovy轻松入门——Grails实战基础篇(4)

 ok.gsp:9,修改demo/grails-app/conf/ApplicationBootStrap.groovy,将一个User实例保存到数据库(grails自带hsqldb和jetty)中,内容如下:class ApplicationBootStrap { def init = { servletContext -> new

2009-01-25 00:18:00 692

原创 Groovy轻松入门——Grails实战基础篇(2)

通过“grails create-app”这个命令,Grails自动帮我们创建了开发所需的工程环境。其实您现在就已经拥有了一个可运行的Web应用程序,然后进入demo目录(“cd demo”),输入“grails run-app”,回车,启动这个‘五脏俱全’的程序雏形,打开浏览器,输入 http://localhost:8080/demo ,回车,看到了吧 :) 让我们继续吧,请停止这个程序(Ct

2009-01-25 00:17:00 639

原创 Groovy轻松入门——Grails实战基础篇(3)

4,在“命令行”中,输入“grails create-controller Login”,创建登陆(login)的控制器LoginController,它对应MVC中的Controller,让它负责登陆相关业务,输出如下:D:/Temp/grails_apps/demo>grails create-controller LoginWelcome to Grails 0.

2009-01-25 00:17:00 859

原创 Groovy轻松入门——Grails实战基础篇(1)

在学习任何东西之前,最重要的是培养兴趣,Groovy世界最耀眼的技术之一--Grails相信大家早已耳闻,我将通过Grails实战系列文章向您展现Grails的迷人风采,使您感受到Grails的魅力,以至疯狂地爱上Grails,并坠入Groovy的爱河。学Groovy,Grails与学Java一样,在实战之前需要搭建开发环境,您可以在 Groovy轻松入门--搭建Groovy开发环境 学习到如何搭

2009-01-25 00:16:00 597

原创 Groovy轻松入门——通过与Java的比较,迅速掌握Groovy(2)

6. Groovy中的注释比Java多了首行注释#!,其他与Java相同比如单行注释://    多行注释:/*  */   或者是  支持javadoc的/**   */Java:/* * 多行注释 *//** * javadoc 注释 */// 单行注释}Groovy:#! 首行注释,使Un

2009-01-25 00:14:00 663

原创 Groovy轻松入门——通过与Java的比较,迅速掌握Groovy(3)

19.在varargs方法方面,Groovy与Java稍有区别,如下所示:Java:// Java: public void varargsMethod(Type args) { //do something}Groovy:def varargsMethod(Type[] args) { //do someth

2009-01-25 00:14:00 582

原创 Groovy轻松入门——通过与Java的比较,迅速掌握Groovy(1)

Groovy和Java的相同点有:3+, 4+, 6+, 8+, 10+, 12+, 13, 14, 15, 18+, 20+, 21, 22, 23, 28+, 29+, 30+, 31+, 32+ +表示Groovy不但涵盖了Java的语法,而且还有增强部分。Groovy和Java的不同点有:0, 1, 2, 5, 7, 9, 11, 16, 17, 19, 24, 25, 26, 2

2009-01-25 00:11:00 502

原创 Groovy轻松入门——搭建Groovy开发环境

既然是入门,我先不介绍那些IDE的东西,比如Eclipse中的Groovy插件(如果您迫不及待的话,可以先看一下安装Groovy的Eclipse插件),我先讲一下如何设置Groovy的环境变量(我目前所用的系统是Windows XP),最后运行一个Hello, world程序告终。Groovy既然是Java帝国的王储,当然少不了Java的支持。0,先安装JDK(推荐版本为1.5及1.5以上

2009-01-25 00:05:00 584

C#制作PDF文件全攻略

C#制作PDF文件全攻略C#制作PDF文件全攻略C#制作PDF文件全攻略C#制作PDF文件全攻略C#制作PDF文件全攻略C#制作PDF文件全攻略C#制作PDF文件全攻略C#制作PDF文件全攻略C#制作PDF文件全攻略C#制作PDF文件全攻略C#制作PDF文件全攻略

2008-12-29

jad反编译工具针对 javaclass字节码

一款很好的字节码编译工具 是学习不可缺少的工具 呵呵 黄奕

2008-12-29

Ecma-262.pdf

Ecma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdfEcma-262.pdf

2008-12-29

datagridview 分页

/// <summary> /// 获取总页数 /// </summary> /// <param name="recordcount">总记录数</param> /// <param name="page_size"></param> /// <returns></returns> public static int GetPageCount(int recordcount, int page_size) { int pagecount = 0; if (recordcount % page_size == 0) pagecount = recordcount / page_size; else pagecount = (recordcount / page_size) + 1; return pagecount; } /**//// <summary> /// 获取分页数据 /// </summary> /// <param name="kl2">DATASET</param> /// <param name="page_size">每页记录数</param> /// <param name="pageindex">页索引</param> /// <param name="page_sum">总页数</param> /// <returns></returns> public static DataView GetPagerForView(DataTable dt, int page_size, int pageindex,out string msg) { DataView dv = new DataView(); if (dt != null) { int recordCount = dt.Rows.Count; //总记录数 int page_sum = GetPageCount(recordCount, page_size); if (page_size < dt.Rows.Count)//kl2 :SQL查询函数返回的DATASET { if (page_size == 0)//text_intpase :判断用户设置的分页是否合法 page_size = 10; //recordCount = kl2.Tables[0].Rows.Count;//假设每页只显示1条数据,则共可以显示的页数:pagemark页 if (page_size < 1) { msg = "请将分页项设置在[1-" + dt.Rows.Count.ToString() + "]之间"; } msg = "共" + page_sum.ToString() + "页," + dt.Rows.Count.ToString() + "条";//page_num :lable DataTable page_table = new DataTable();//记录当前正在操作的是哪个表,全局变量,值由查询函数获取 for (int k = 0; k < dt.Columns.Count; k++) { page_table.Columns.Add(dt.Columns[k].ColumnName); } if (dt.Rows.Count != 0 && page_size < dt.Rows.Count) { page_table.Clear(); try //普通页面显示 { page_table.Clear(); for (int i = 0; i < page_size; i++) { page_table.Rows.Add(dt.Rows[i + (pageindex * page_size)].ItemArray); } } catch //最后不足一个页面的显示 { page_table.Clear(); try { for (int s = 0; s < recordCount - (pageindex * page_size); s++) { page_table.Rows.Add(dt.Rows[s + (pageindex * page_size)].ItemArray); } } catch { } } msg += " 当前第" + (pageindex + 1).ToString() + "页"; } dv = page_table.DefaultView; } else { dv = dt.DefaultView; msg = "共1页," + dt.Rows.Count.ToString() + "条"; msg += " 当前第" + (pageindex + 1).ToString() + "页"; } return dv; } else { msg = "没有数据!"; return null; } } Form中调用: Code private DataTable GetDicData()//获取所有据 { BLLB_CommunitDIC bcdicBll = new BLLB_CommunitDIC(); if (trvDic.SelectedNode != null) { if (trvDic.SelectedNode.Parent == null) { return null; } else { int areaid = Convert.ToInt32(trvDic.SelectedNode.Tag); return FCT.Common.PublicMethods.ConvertToDataSet(bcdicBll.GetAll(areaid)).Tables[0]; } } else return null; } //根据页索此获取数据 private void InitData(int pageindex) { DataTable dt = GetDicData(); string msg; if (dt != null && dt.Rows.Count > 0) { dgrvDic.AutoGenerateColumns = false; dgrvDic.DataSource = Public.CustomerPager.GetPagerForView(dt, 10, pageindex, out msg); toolStripLabel18.Text = msg; } } Code 分页事件#region 分页事件 private void toolStrip7_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { if (e.ClickedItem.Tag != null) { this.Cursor = Cursors.WaitCursor; int _currentPageIndex = 1; DataTable dt = GetDicData(); int pagecount = 0; if (dt != null) pagecount = Public.CustomerPager.GetPageCount(dt.Rows.Count, 10); if (toolStripTextBox6.Text != "") { try { _currentPageIndex = Convert.ToInt32(toolStripTextBox6.Text); } catch { _currentPageIndex = 1; } } switch (e.ClickedItem.Tag.ToString()) { case "First": _currentPageIndex = 1; break; case "Prev": _currentPageIndex = _currentPageIndex - 1; break; case "Next": _currentPageIndex = _currentPageIndex + 1; break; case "Last": _currentPageIndex = pagecount; break; default: this.Cursor = Cursors.Default; break; } InitData(_currentPageIndex - 1); if (_currentPageIndex == 1) { toolStripTextBox6.Text = "1"; this.toolStripButton25.Enabled = false; this.toolStripButton26.Enabled = false; this.toolStripButton27.Enabled = true; this.toolStripButton28.Enabled = true; } else { if (_currentPageIndex < pagecount && _currentPageIndex >= 1) { toolStripTextBox6.Text = _currentPageIndex.ToString(); this.toolStripButton25.Enabled = true; this.toolStripButton26.Enabled = true; this.toolStripButton27.Enabled = true; this.toolStripButton28.Enabled = true; } else if (_currentPageIndex == pagecount) { toolStripTextBox6.Text = pagecount.ToString(); this.toolStripButton25.Enabled = true; this.toolStripButton26.Enabled = true; this.toolStripButton27.Enabled = false; this.toolStripButton28.Enabled = false; } else { this.toolStripButton25.Enabled = false; this.toolStripButton26.Enabled = false; this.toolStripButton27.Enabled = false; this.toolStripButton28.Enabled = false; } } this.Cursor = Cursors.Default; } 84 #endregion

2008-12-20

DataGridView导出execl

SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Execl files (*.xls)|*.xls"; saveFileDialog.FilterIndex = 0; saveFileDialog.RestoreDirectory = true; saveFileDialog.CreatePrompt = true; saveFileDialog.Title = "导出Excel文件到 "; saveFileDialog.ShowDialog(); if (saveFileDialog.FileName != " ") { Stream myStream; myStream = saveFileDialog.OpenFile(); StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312")); string str = " "; try { //写标题 for (int i = 0; i < this.dataGridView1.ColumnCount; i++) { if (i > 0) { str += "\t"; } str += dataGridView1.Columns[i].HeaderText; } sw.WriteLine(str); //写内容 for (int j = 0; j < dataGridView1.Rows.Count; j++) { string tempStr = " "; for (int k = 0; k < dataGridView1.Columns.Count; k++) { if (k > 0) { tempStr += "\t"; } tempStr += dataGridView1.Rows[j].Cells[k].FormattedValue.ToString(); } sw.WriteLine(tempStr); } sw.Close(); myStream.Close(); } catch { MessageBox.Show(e.ToString()); } finally { sw.Close(); myStream.Close(); } }

2008-12-20

DataGridView在winform

这几天在做一个winform的小软件,用到了datagridview这个庞大而让人头疼的控件,这么一个号称先进的东东,居然没办法分页。为了软件如期完工,先用以下方法完成分页。感谢原作者的同时,发现这种方法绝对不是一个有效率的好方法,他是伪分页。因为每次分页都填充了整个DataSet,只是视觉上给人一种分页的感觉。只让用户看到当页的,其他页隐藏起来。先用用吧,有好办法再来总结。另注,此写法有问题,我又在软件中修正

2008-12-20

extjs2.2已整合内存补丁

extjs2.2已整合内存补丁 很好 很强大

2008-12-19

软件工程思想 开启软件子论

软件工程思想 是对国内的软件发展做出的一些实质型的看法与见解 同时作者也是多年开发经验的程序员 对软件工程有自己的思想 期望与大家一起分享

2008-12-19

纯CSS清爽新闻列表布局——给新手看.rar

纯CSS清爽新闻列表布局——给新手看的 对网页设计是一个良好的开始

2008-12-19

Java猜数字游戏 真的很好

对面向对象的集中使用 以及一些基本类的使用与简介

2008-12-19

Struts2百度百科

Struts2Apache Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。

2008-11-30

struts1 与struts2的区别

=A9=C0=C8=ED=BC=FE=B2=E2=CA=D4=C2=DB=CC= =B3=A9=EFC/S=B3=CC=D0=F2=BF=AA=B7=A2=D7=A8=C7=F8 =A9=C0.Net=B1=E0=B3=CC=C2=DB=CC=B3 =A9=C0JAVA=B1=E0=B3=CC=C2=DB=CC=B3 =A9=C0Delphi=B1=E0=B3=CC=C2=DB=CC=B3 =A9=C0C/C++=B1=E0=B3=CC=C2=DB=CC=B3 =A9=C0VC++=B1=E0=B3=CC=C2=DB=CC=B3 =A9=C0VB=B1=E0=B3=CC=C2=DB=CC=B3 =A9=C0PB=B1=E0=B3=CC=C2=DB=CC=B3 =A9=C0=BB=E3=B1=E0=D3=EF=D1=D4=D7=A8=C7= =F8=A9=EFWeb=BF=AA=B7=A2=BC=BC=CA=F5 =A9=C0=CD=F8=D2=B3=D6=C6=D7=F7=C2=DB=CC=B3= =A9=C0ASP=B1=E0=B3=CC=C2=DB=CC=B3 =A9=C0ASP.net=B1=E0=B3=CC =A9=C0JSP=B1=E0=B3=CC=C2=DB=CC=B3 =A9=C0PHP=B1=E0=B3=CC=C2=DB=CC=B3 =A9=C0Ajax=BC=BC=CA=F5=C2=DB=CC=B3=A9=EF=CA=FD=BE=DD=BF=E2=BC=BC=CA=F5=D7=A8=C7=F8 =A9=C0SQL Server = =C2=DB=CC=B3 =A9=C0Oracle = =C2=DB=CC=B3 =A9=C0MySQL = =C2=DB=CC=B3=A9=EF=B5=E7=C4=D4=BC=BC=CA=F5=BD=BB=C1=F7= =A9=C0=B5=E7=C4=D4=BC=BC=CA=F5=C2=DB=CC=B3= =A9=C0Linux=B0=AE=BA=C3=D5=DF=C2=DB=CC=B3= =A9=EF=D0=DD=CF=D0=D3=E9=C0=D6=B9=E0=CB=AE<= OPTION=20 = value=3Dforum9-1.htm> =A9=C0=C7=E9=B8=D0=CA=C0=BD=E7<= OPTION=20 = value=3Dforum10-1.htm> =A9=C0=D2=F4=C0=D6=D0=A1=CE=DD= =A9=C0=B9=E0=CB=AE=C0=D6=D4=B0= =A9=C0=B3=CC=D0=

2008-11-30

number 对数字的处理

gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 4. explorer-------打开资源管理器 5. logoff---------注销命令 6. tsshutdn-------60秒倒计时关机命令 7. lusrmgr.msc----本机用户和组 8. services.msc---本地服务设置 9. oobe/msoobe /a----检查XP是否激活 10. notepad--------打开记事本 11. cleanmgr-------垃圾整理 12. net start messenger----开始信使服务 13. compmgmt.msc---计算机管理 14. net stop messenger-----停止信使服务 15. conf-----------启动netmeeting 16. dvdplay--------DVD播放器 17. charmap--------启动字符映射表 18. diskmgmt.msc---磁盘管理实用程序 19. calc-----------启动计算器 20. dfrg.msc-------磁盘碎片整理程序 21. chkdsk.exe-----Chkdsk磁盘检查 22. devmgmt.msc--- 设备管理器 23. regsvr32 /u *.dll----停止dll文件运行 24. drwtsn32------ 系统医生 25. rononce -p ----15秒关机 26. dxdiag---------检查DirectX信息 27. regedt32-------注册表编辑器 28. Msconfig.exe---系统配置实用程序

2008-10-21

windows 对计算机的各种命令

gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 4. explorer-------打开资源管理器 5. logoff---------注销命令 6. tsshutdn-------60秒倒计时关机命令 7. lusrmgr.msc----本机用户和组 8. services.msc---本地服务设置 9. oobe/msoobe /a----检查XP是否激活 10. notepad--------打开记事本 11. cleanmgr-------垃圾整理 12. net start messenger----开始信使服务 13. compmgmt.msc---计算机管理 14. net stop messenger-----停止信使服务 15. conf-----------启动netmeeting 16. dvdplay--------DVD播放器 17. charmap--------启动字符映射表 18. diskmgmt.msc---磁盘管理实用程序 19. calc-----------启动计算器 20. dfrg.msc-------磁盘碎片整理程序 21. chkdsk.exe-----Chkdsk磁盘检查 22. devmgmt.msc--- 设备管理器 23. regsvr32 /u *.dll----停止dll文件运行 24. drwtsn32------ 系统医生 25. rononce -p ----15秒关机 26. dxdiag---------检查DirectX信息 27. regedt32-------注册表编辑器 28. Msconfig.exe---系统配置实用程序

2008-10-21

java内部类的使用

关于内部类的说明 1)在一个类中定义另外一个类,这个类就叫做内部类(inner class) 。内部类的定义和普通类的定义没什么区别,它可以直接访问和引用它的外部类的所有变量和方法(包括private),就像外部类中的其他非static成员的功能一样。区别是,外部类只能声明为public和default,而内部类可以声明为private和protected。 2)当我们建立一个inner class时,其对象就拥有了与外部类对象之间的一种关系,这是通过一个特殊的this reference形成的,当内部类的成员方法中访问某个变量/方法时,如果在该方法和内部类中都没有定义过这个变量,调用就会被传递给内部类中保存的那个外部类对象的引用(OuterClass.this),通过那个外部类对象的引用去调用这个变量。

2008-10-21

关于web回话跟踪session

对会话小服务程序进行编程以编码 URL 提供小服务程序或 JSP 文件作为应用程序的入口点 避免在应用程序中使用普通 HTML 文件 对会话小服务程序进行编程以编码 URL

2008-10-21

C#枚举的使用 欢迎下载

不能继承 没有无参构造方法 不需要new出来使用

2008-10-11

JSP生成验证码图片

给定范围获得随机颜色 随机产生的认证码(4位数字)

2008-10-11

search searchs earch search

searchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearchsearch

2008-09-30

Linux命令Linux

LinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinux

2008-09-30

作业2:改变页面风格及向左滚动图片文字

作业2:改变页面风格及向左滚动图片文字作业2:改变页面风格及向左滚动图片文字

2008-09-30

向上滚动的文字向上滚动的文字

向上滚动的文字向上滚动的文字向上滚动的文字向上滚动的文字向上滚动的文字向上滚动的文字向上滚动的文字向上滚动的文字向上滚动的文字

2008-09-30

下拉级联框下拉级联框

下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框

2008-09-30

HTML设置首页HTML设置首页

设为首页等功能HTML设置首页HTML设置首页HTML设置首页HTML设置首页HTML设置首页HTML设置首页HTML设置首页HTML设置首页

2008-09-30

java的读写

枚举使用枚举使用枚举使用枚举使用枚举使用枚举使用枚举使用

2008-07-29

.net聊天工具

本软件是在socke套接字的原理下实现的 udp 快书链接 不经过服务器的提交 典型的p2p

2008-07-02

jsp聊天

本软件是初学者对Jsp与Servlet学习的开端 了解整个信息的源泉<br>1:创建回话。2:Servle通信<br>关键在于(httpservletrequest request,httpservletresponse response)<br>两者的页面的获得与提交的和跳转 (getservlertContext)

2008-06-04

学生管理系统

班级的增加 科目管理 学员管理

2008-05-02

c#的基础

数据库的连接与读写增删查改

2008-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除