博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年5月20日

摘要: 大家GridView都用的比较多吧.. 有没遇到单元格需要合并的需求.. 单元格合并原理其实很简单,就是逐行判断要合并的单元格里的值是否和上一行的相同,要是相同的话就合并,不同的话就接着判断我们可以通过扩展方法为GridView添加单元合并我为GridView创建了个RowSpan的方法 . 有一个object参数 为什要定义object 参数 源于ASP.NET MVC 的Routing 组件配置规则 感觉这种方式很不错..所以使用了这种方式来进行.[代码]这个扩展方法的使用方式很简单[代码]我们合并第1列的值姓名.. GirdView索引是从0开始的所以ColumnIndex=0性别肯定和 阅读全文

posted @ 2009-05-20 23:29 陈 亮 阅读(3189) 评论(17) 推荐(1) 编辑

摘要: 最近自从公司的开发环境改了. 从VS2003 改到VS2008后 用了C# 3.0 的新东西 自己积累的方法就慢慢的多起来了. 由于经常使用以前经常DataTable 现在都使用List<T>就此需要经常转换.. 用的多了 自然需要写个简单的方法来实现互相转换由于C#3.0出现了扩展方法 我们可以通过这样一个特性来简化我们的开发.DataTable 转换为List<T> 的... 阅读全文

posted @ 2009-05-20 20:16 陈 亮 阅读(10494) 评论(10) 推荐(2) 编辑

2009年3月30日

摘要: Lambda表达式是C#3.0的一种新语法,语法简洁为编写匿名方法提供了更简明的函数式的句法.我通过一个示例来说明Lambda表达式的原理:Lambda表达式和匿名方法都来源于委托 我们来看看委托的使用在C#1.0时:[代码]C#2.0时可以使用匿名方法:[代码] C#3.0使用Lambda表达式:[代码] 使用Lambda表达式更简洁,为什么那么简洁.其实是编译器为我们做了很多事情. Calculate result = (ta, tb) = ta + tb;这句话 编译器在编译的时候 会为我们生成一个私有的静态方法.透过ILDASM可以看到它是怎么帮助我们的, 编译器为我们声明声明了一个 阅读全文

posted @ 2009-03-30 09:37 陈 亮 阅读(2780) 评论(6) 推荐(1) 编辑

2008年9月27日

摘要: 克隆是创建作为当前实例副本的新对象。 克隆分为深度克隆和浅度克隆 深度克隆:会克隆当前实例的所有所有成员. 浅度克隆:只会克隆当前实例的所有值类型的. 浅度克隆Object类为我们提供了一个受保护的克隆方法MemberwiseClone() 深度克隆要我们自己实现 实现深度克隆的方式一般有2种... (我只知道2种... 如果你知道另外几种,请回复告诉我..) 我来创建2个类 Address类 ... 阅读全文

posted @ 2008-09-27 12:31 陈 亮 阅读(604) 评论(0) 推荐(0) 编辑

2008年9月26日

摘要: 表值函数表值函数和标量值函数的不同是 表值函数是返回一个Table类型 Table类型相当与一张存储在内存中的一张虚拟表.表值函数的语法:CREATE FUNCTION [ schema_name. ] function_name ( [ { @parameter_name[ AS ] [ type_schema_name. ]parameter_data_type [ = default ] } [ ,...n ]])RETURNS TABLE[ WITH function_option [ ,...n ] ][ AS ]RETURN [ ( ] select_stmt [ ) ][ ; 阅读全文

posted @ 2008-09-26 12:28 陈 亮 阅读(4095) 评论(5) 推荐(0) 编辑

2008年9月25日

摘要: --------------------自定义函数----------------创建用户定义函数。这是一个已保存 Transact-SQL 或公共语言运行时 (CLR) 例程,--该例程可返回一个值。用户定义函数不能用于执行修改数据库状态的操作。--与系统函数一样,用户定义函数可从查询中调用。标量函数和存储过程一样,可使用 EXECUTE 语句执行。标量函数的语法格式CREATE FUNCTION [ schema_name. ] function_name ( [ { @parameter_name [ AS ][ type_schema_name. ]parameter_data_typ 阅读全文

posted @ 2008-09-25 14:36 陈 亮 阅读(4357) 评论(0) 推荐(1) 编辑

摘要: 命名空间: Type.registerNamespace("MyNamespance"); --注册一个命名空间 类: 定义步骤 --定义构造函数 --定义成员(方法,属性,事件) --注册类 构造函数 类的构造函数即为function定义 通常用于初始化域变量 私有成员使用下划线开头(无法真正封装) --this._name --this._ag... 阅读全文

posted @ 2008-09-25 11:27 陈 亮 阅读(232) 评论(0) 推荐(0) 编辑

2008年5月21日

摘要: Error原生类型 表示错误对象 --EvalError,URLError,RangeError,etc. 捕获方式 --try{ throw new Error()}catch(e){} --理论上可以throw出任意对象 Error对象IE和FireFox公有属性 --message:错误消息 Error浏览器特定属性 IE: --description :同mes... 阅读全文

posted @ 2008-05-21 18:03 陈 亮 阅读(469) 评论(0) 推荐(0) 编辑

摘要: String原生类型 String.prototype --length:获得字符串的长度 --charAt(pos):获得当前位置的字符(串) --indexOf(str,position):查找字符串 --lastIndexOf(str,position):从后查找字符串 --match(regexp):使用正则表达式检验字符串 --replace(search,re... 阅读全文

posted @ 2008-05-21 18:00 陈 亮 阅读(422) 评论(0) 推荐(0) 编辑

摘要: Date原生类型 UTC时间:国际标准时间 表示日期和时间 --一个数字表示相当于UTC时间1970年1月1日0时整的毫秒数偏移量 --每个Date对象存储的永远只是一个数字 --时间只有一个,时差是表现上的概念 Date.prototype.getTimezoneOffset() --获... 阅读全文

posted @ 2008-05-21 17:58 陈 亮 阅读(343) 评论(0) 推荐(0) 编辑