摘要:
oracle中有一个看似很NB的内置函数wm_concat,可以方便的实现“行转列”功能(相关用法,大家自行搜索一下,能找到很多资料)今天偶然发现一个问题:在不同的oracle版本中,wm_concat返回的数据类型不一致.10G版本中,返回的是字符串类型11G版本中,返回的是clob类型此外,这个函数返回的结果,如果要控制排序也是有点小复杂的(可以自行百度一下: http://www.baidu.com/s?wd=wm_concat+%C5%C5%D0%F2&rsv_bp=0&rsv_spt=3&rsv_n=2&rsv_sug3=3&rsv_sug1=
阅读全文
posted @ 2012-09-25 16:21
菩提树下的杨过
阅读(5221)
推荐(0)
摘要:
jQuery有一个很好用的delegate(事件委派)功能,可以给当前以及将来(动态添加)的元素绑定一个事件处理函数。比如下面的例子,动态添加一个输入文本框后,我想让所有文本框(不管是不是动态添加的)在获取焦点时,自动转大写。<!doctype html><html><head> <title>delegate测试</title> <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.
阅读全文
posted @ 2012-07-10 10:22
菩提树下的杨过
阅读(3722)
推荐(0)
摘要:
业务系统中,很多录入人员习惯于用Enter键来代替Tab键切换控件焦点(虽然我个人并不觉得这样录入速度会变得有多高效,呵呵),有需求了,自然就得想办法满足。思路:为了更灵活的控件焦点顺序,我决定用TabIndex来做文章,每个输入控件按下回车时,找到下一个比当前控件TabIndex更大且最接近的控件,然后focus().XAML界面部分:<UserControl x:Class="tab_key_test.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&qu
阅读全文
posted @ 2012-06-04 11:00
菩提树下的杨过
阅读(2820)
推荐(1)
摘要:
一个报表如果要先按A分组,然后再按B分组,再按C分组...这种多条件分组情况下,RDLC报表处理起来并不方便。只能另辟蹊径,想些歪招了:比如有一张员工表,里面有公司编码COMPANYCODE,部门号DEPTNO,员工号EMPNO,员工姓名EMPNAME需要在报表上,先按公司分组,相同公司的再按部门分组看看下面的处理代码 DataTable dt = new DataTable(); dt.Columns.Add("EMPNO", typeof(string)); dt.Columns.Add("EMPNAME", typeof(...
阅读全文
posted @ 2012-05-18 16:37
菩提树下的杨过
阅读(4530)
推荐(2)
摘要:
看了铁哥关于haXe的介绍,忍不住体验了一吧:一、下载安装flashdevelophttp://flashdevelop.org/ 到这上面下载最新的flashdevelop并安装(注:安装这个需要java sdk1.6以上版本,同时还要安装.netframework)tips:flashdevelop并不能识别最新的jdk 1.7,如果你的机器上安装的是1.7版本,需要手动编辑x:\Program Files (x86)\FlashDevelop\Tools\flexsdk\bin\jvm.config找到java.home="C:\Java\jre7\"把java.ho
阅读全文
posted @ 2012-04-22 12:50
菩提树下的杨过
阅读(1998)
推荐(0)
摘要:
今天遇到一个需求,要求能对可拖动的对象提供二种模式:允许拖动、禁止拖动。之前的拖动为了省事,直接用了:Blend自带的MouseDragElementBehavior,于是就需要在cs代码中控制这个东东了。折腾了一下,还算简单:xaml代码<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://sc
阅读全文
posted @ 2012-03-23 10:11
菩提树下的杨过
阅读(2262)
推荐(0)
摘要:
jQuery中有一个focus()方法能设置对象的焦点,在1.7以下的版本中,不管对象是不是disabed状态,这个方法都不会报错(只是当disabled时,设置焦点的代码无效),但在1.7版本中,如果对象是disabled状态,这时调用focus()方法时,会直接报异常:Error: Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus.意思是:不可见或不可用的元素无法获取焦点。(特别提一下:IE9很NB,能自动
阅读全文
posted @ 2012-03-17 16:18
菩提树下的杨过
阅读(2617)
推荐(0)
摘要:
telerik的控件总体来说质量还算上乘,但是偶尔也会遇一些小bug:比如 <telerik:RadMaskedTextBox Mask="n" MaskType="Numeric"/>,这样的本意是让输入框只能输入带小数位的数字,但是很多用户在输入“零点几”的小数时,通常直接输入".12",即:不输入第一个0,直接输入点,这时你会杯具的发现,整个屏幕直接白了(Silverlight应用程序级的错误).我没看telerik的源码,任感觉猜测应该是".“在Convert成浮点数时抛异常了(老外估计也没想到中国人这么
阅读全文
posted @ 2012-02-14 21:19
菩提树下的杨过
阅读(3125)
推荐(0)
摘要:
Silverlight并没有象flash那样直接提供画线、画圆、画曲线的方法,只能用Path来生成贝塞尔曲线。下面是示例代码:XAML部分:<UserControl x:Class="SLCurveSample.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.m
阅读全文
posted @ 2012-02-10 21:51
菩提树下的杨过
阅读(2660)
推荐(1)
摘要:
前一阵时间安装了ReSharper插件,后来发现运行太卡,于是卸掉了,然后...vs2010就杯具的发现木有智能提示了,解决办法:进入vs2010命名行模式下:(程序->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio Command Prompt (2010))C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>devenv.exe /setup /resetuserdata /resetsettings
阅读全文
posted @ 2012-01-16 11:18
菩提树下的杨过
阅读(9223)
推荐(1)
摘要:
A4纸的尺寸是210mm*297mm,也就是21.0cm*29.7cm,而1英寸=2.54cm,如果屏幕DPI分辨率为72像素/英寸,换算一下:相当于1cm可呈现 (72px/2.54cm) = 28.34px下面是一些常用分辨率下A4纸在屏幕上的像素尺寸:分辨率是72像素/英寸时,A4纸的尺寸的图像的像素是595×842;分辨率是96像素/英寸时,A4纸的尺寸的图像的像素是794×1123;(默认)分辨率是120像素/英寸时,A4纸的尺寸的图像的像素是1487×2105;分辨率是150像素/英寸时,A4纸的尺寸的图像的像素是1240×1754;分辨率是
阅读全文
posted @ 2012-01-09 11:07
菩提树下的杨过
阅读(134311)
推荐(1)
摘要:
iFrame如果嵌入的是普通网页,这种场景下的iframe高度自适应解决方案,百度一下随手都能找到一大把。但是嵌入Silvelight时,嵌入iframe的父页面默认不知道Silverlight内容的真实高度,所以上述办法就不起作用了。其实只要换个思路:既然父页面不知道iframe中SL的高度,SL难道不能自己主动向父页面汇报自已的高度吗?先看最终的效果:注:Page1,Page3均是SL中的UserControl代码见下面的源代码:主要步骤为1、SL在每个页面的Page_Loaded中,通过与父页面的js交互,主动报告当前SL页面的高度2、父页面得到高度后,用js动态调整iFrame/Fra
阅读全文
posted @ 2012-01-05 21:34
菩提树下的杨过
阅读(2692)
推荐(0)
摘要:
直接给码:<UserControl x:Class="SilverlightApplication1.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="
阅读全文
posted @ 2012-01-02 16:47
菩提树下的杨过
阅读(3028)
推荐(0)
摘要:
默认情况下: telerik RadControls控件使用的是Office Black 主题,就算在App.xaml.cs里写上StyleManager.ApplicationTheme = new Windows7Theme(); 在blend中,看到的仍然是Office Black主题,如果想在设计期就看到某种主题风格,有一个简单的办法:找到telerik radcontrols安装目录,会看到以下目录:X:\Program Files (x86)\Telerik\RadControls for Silverlight Q2 2011 SP1\Themes进入需要的"主题&qu
阅读全文
posted @ 2011-12-31 13:48
菩提树下的杨过
阅读(1779)
推荐(0)
摘要:
默认情况下,Silverlight自带的ListBox控件如果内部有多个TextBox,用户无法用键盘上的Tab键,在ListBox内部的TextBox之间切换。但Teterik RadControls 中的telerik:ListBox却很好的解决了这个问题,只要把telerik:ListBox的IsTabStop设置成false,同时把TabNavigation设置成Local即可(而SL自带的ListBox就算设置了这二个属性,Tab键需要按二次才能切换焦点)完整Xaml代码:<UserControl xmlns="http://schemas.microsoft.com
阅读全文
posted @ 2011-12-24 18:32
菩提树下的杨过
阅读(1118)
推荐(0)
摘要:
web开发中,如果需要将“服务端返回的json对象”绑定到“现有页面上的dom元素”,传统赋值的方式太繁琐,写起来也很累(特别是json对象很大时),于是想出了下面的偷懒方法,不过有二个前提:1、元素的id要与json对象中的属性命名一致2、json对象中的属性名,最好不要重复<!doctype html><html><head><title>json对象遍历演示</title><script type="text/javascript">var obj = {a:'a1',b:'
阅读全文
posted @ 2011-12-16 08:40
菩提树下的杨过
阅读(4923)
推荐(0)
摘要:
当RadGridView中嵌套RadComboBox,且RadGridView的高度不够出现滚动条时,上下拉动滚动条后,RadComboBox中的选中值将丢失!如下图:滚动条未拖动前滚动条上下拖动后(注意下图的高亮部分)重现该Bug的测试代码:Model层TextValueObject.csnamespace RadControlsBug.Model{ public class TextValueObject { public string Text { set; get; } public string Value { set; get; } }...
阅读全文
posted @ 2011-12-03 21:26
菩提树下的杨过
阅读(2499)
推荐(1)
摘要:
下面这段代码整理自sl4的官方文档,已经加了详细的注释,相信大家都能看明白:using System;using System.Reflection;using System.Reflection.Emit;using System.Threading;namespace CustomAttributeBuilderSample{ public class DemoClass { static void Main(string[] args) { //得到新类型 Type myType = BuildTypeW...
阅读全文
posted @ 2011-11-13 21:46
菩提树下的杨过
阅读(5935)
推荐(1)
摘要:
直接给码:using System;using System.IO;using Telerik.Windows.Zip;namespace JIMMY{ public static class ZipHelper { /// <summary> /// 利用telerik的zip库压缩字符串 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string CompressString..
阅读全文
posted @ 2011-11-08 13:03
菩提树下的杨过
阅读(1388)
推荐(0)
摘要:
记录这篇文章的灵感来源来自今天下班前与同事的小小争论,我现在开发的一个项目中,有这样一段代码:public string ToXML() { string strXml = string.Empty; try { MemoryStream ms = new MemoryStream(); XmlSerializer xml = new XmlSerializer(this.GetType()); xml.Serialize(m...
阅读全文
posted @ 2011-10-27 22:35
菩提树下的杨过
阅读(20556)
推荐(7)
摘要:
当ScrollViewer里包含很多子控件时,默认情况下只能用鼠标手动拖动(或滚轮)滚动条以实现内容的滚动,假如用户是键盘高手,习惯于用Tab键来切换子控件焦点时,即使当前获得焦点的控件在不可见区域,滚动条也不会自动跟随着滚动到相应位置,这个非常不方便,今天在网上看到一个老外的解决办法,代码转贴于此: private void _ScrollViewer_GotFocus(object sender, RoutedEventArgs e) { FrameworkElement element = e.OriginalSource as Fram...
阅读全文
posted @ 2011-10-17 22:03
菩提树下的杨过
阅读(1490)
推荐(0)
摘要:
一、按模块分包一般大型的Silverlight应用,都会按模块分解成多个silverlight project,编译后就有多个xap包,然后在需要用到的场景按需加载。我近期开发的这个项目不需要全站Silverlight,而是aspx混合silverlight,说得更白点,就是把相应的子模块xap包嵌入aspx.这样分包就简单多了:直接用js控制dom元素,修改object元素中的source,动态设置成不同的xap即可实现无刷新的加载不同模块。(这比网上主流的方式:用WebClient动态下载xap包,最终再反射加载,个人觉得更简单。当然,这种方式不适用于整站Silverlight的项目)二、
阅读全文
posted @ 2011-10-16 20:41
菩提树下的杨过
阅读(1785)
推荐(0)
摘要:
不废话了,直奔主题吧wcf端:近几年比较流行restful,为了能让ajax调用,同时也为了支持restful风格的uri,在创建一个Ajax-enabled Wcf Service后,必须手动修改svc文件,指定Factory,即:注:如果不添加Factory,则wcf将无法用类似http://localhost/helloWorld.svc/Hello/person/name 的restful方式直接访问。同时还要去掉web.config中的即类似: --> 好了,开始写代码,鉴于wcf调用时有GET/POST二种方式,下面把几种常用的情况都写一个示例方法:usin...
阅读全文
posted @ 2011-10-11 22:29
菩提树下的杨过
阅读(6031)
推荐(2)
摘要:
CIMP:Cargo-IMP(Cargo Interchange Message Procedures) 一种纯文本的报文格式CargoXML:Cargo-XML 基于XML的报文格式DEP:离港(Departure),一般在离港时会发FSU,FFM报文FWB:主单货物信息(Freight Waybill)FFM:航空公司舱单电(Flight Freight Manifest)FHL:分单(Flight House Waybill)FSU:货物状态更新(Flight Status Update)RCS:物货收运(Receive Cargo Status?)SLI : 托运书 (Shipper’
阅读全文
posted @ 2011-09-23 08:45
菩提树下的杨过
阅读(10439)
推荐(0)
摘要:
今天继续学习RDLC报表的“参数传递”及“主从报表”一、先创建DataSet,如下图:二、创建一个报表rptDEPT.rdlc,显示部门T_DPET的数据三、嵌入Default.aspx中,写在Default.aspx.cs中写些基本代码using System;using System.Data;using Microsoft.Reporting.WebForms;namespace ReportSample{ public partial class Default : System.Web.UI.Page { protected void Page_Load(o...
阅读全文
posted @ 2011-09-19 17:47
菩提树下的杨过
阅读(16676)
推荐(5)
摘要:
RDLC报表是微软自家的报表,已经集成在vs2010中,相对水晶报表更轻量级,更重要的是:可直接在web项目中使用。使用步骤:一、创建DataSet右击->Add New Item-> DataSet(本例中命名为DS_EMP),会出现以下界面:然后右击->Add->DataTable,添加一个表,命名为T_EMP,然后添加二个列EMPNO,EMPNAME均为String型,完成后的样子类似下现这样:注:如果机器上安装了BizTalk,DataSet打开后,可能是下面这样这种编辑方式我个人觉得不方便,可以通过在DS_EMP.xsd上右击-->Open With,然
阅读全文
posted @ 2011-09-16 13:15
菩提树下的杨过
阅读(6525)
推荐(1)
摘要:
ORACLE中,如果表中的字段名,正好跟sql中关键词重名,写sql语句时:1.要将该字段名大写2.字段名前后要加双引号(注:必须是双引号,单引号将无效)比如:SELECT * FROM MYTABLE ORDER BY "ORDER"
阅读全文
posted @ 2011-09-08 11:03
菩提树下的杨过
阅读(6319)
推荐(0)
摘要:
项目开发中遇到一个要求,需要将ComboBox右侧中的小三角箭头给去掉,通过Blend工具“编辑ComboBox的模板副本”得知,这是一个名为"BtnArrow"的Path。但是在CS代码中,是无法引用到这个控件的。解决办法:重新定义一个类,继承自ComboBox,然后重写OnApplyTemplate方法,代码如下using System.Windows;using System.Windows.Controls;using System.Windows.Shapes;namespace ContentTemplateTest{ public class YJMCombo
阅读全文
posted @ 2011-09-03 17:46
菩提树下的杨过
阅读(2254)
推荐(1)
摘要:
Blend自带的行为MouseDragElementBehavior应用到ListBox后,如果用鼠标按住列表列拖动,没有任何效果,在多次尝试中意外发现,如果将ListBox的边框设置成一个较大值,在边框上点击时,却可以拖动,但是一般开发中,没人会把ListBox设置一个粗粗的难看边框。于是想到了下面的变通解决办法:当鼠标进入时显示边框,鼠标离开时再隐藏边框。示例代码:Xaml部分<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="ht
阅读全文
posted @ 2011-08-16 08:41
菩提树下的杨过
阅读(1527)
推荐(0)
摘要:
在SL开发中,通常会将项目按模块分成多个xap实现按需下载,但是由于浏览器的缓存,就算某个模块代码修改过并重新发布到服务器,如果这个xap已经在浏览器缓存中,实际加载时,仍然有可能调用的是本地缓存,而非最新的版本。通常解决这个问题的办法是在xap包的下载地址后附加一个随机数,类似http://xxx.com/abc.xap?t=1235817232 之类。但是这样相当于强制浏览器每次去重新下载xap文件,缓存机制被完全给干掉了,特别是对于一些大型项目,xap通常比较大,每次重新下载,需要较长时间,用户的体验非常差。相对比较科学的方法是用"版本号"来替换"随机数&q
阅读全文
posted @ 2011-08-07 21:59
菩提树下的杨过
阅读(5346)
推荐(3)
摘要:
1、前言作为一个多年从事b/s开发的程序猿,曾先后使用过asp、asp.net做为主要服务端语言。不管是相对低级的asp也好,还是高级的asp.net也罢,都100%会遇到"数据绑定"问题。2、什么是“绑定”?广义来讲,如果服务端的数据需要在页面上呈现,并且这份数据需要与整个页面(或页面的某个部分)建立关联(不管是单向关联还是双向关联),这就是数据绑定。3、“赋值”是个好办法在asp年代,压根儿就没有控件这一说,所以服务端的数据呈现,基本上就是通过在页面中内嵌<%=xxx%>来实现的(xxx可理解为一个定义的变量),要改变显示的内容,最方便的方法就是给变量xxx
阅读全文
posted @ 2011-07-02 20:02
菩提树下的杨过
阅读(3056)
推荐(0)
摘要:
默认情况下,silverlight在调用wcf时,如果传递的参数长度大于8192字节,即8k,会提示Not Found错误。解决方法如下:1、wcf服务端修改web.config 如下:<?xml version="1.0"?><!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --><configuration> <syst
阅读全文
posted @ 2011-06-29 22:31
菩提树下的杨过
阅读(3212)
推荐(2)
摘要:
这是上一篇“Silverlight:双向绑定综合应用-自动更新集合汇总字段”的续篇。需求场景如下:一个公司,有N个员工,逢年过节时要搞一些抽奖活动,最终要公告收奖名单。"员工"类如下:namespace CollectionBinding{ /// <summary> /// 员工类 /// </summary> public class Employee : NotifyPropertyChangedObject { private string _name = ""; public string Name { set { _n
阅读全文
posted @ 2011-06-26 17:36
菩提树下的杨过
阅读(2020)
推荐(0)
摘要:
场景:有一家公司(类名:Company),它有N多员工(类名:Employee)。要在界面上用网格显示所有员工的姓名、工资,并且当操作用户在网格里对员工进行增减或修改其工资时,能自动汇总出员工工资的总和并显示出来。员工类 Employee代码如下: /// <summary> /// 员工类 /// </summary> public class Employee:INotifyPropertyChanged { private string _name = ""; public string Name { set { _name = value;
阅读全文
posted @ 2011-06-26 09:55
菩提树下的杨过
阅读(2459)
推荐(1)
摘要:
注:此乃“流水帐”式的水文,营养成分较低,高手请自动无视以下内容,否则引起消化不良等症状等,一概不管 ^_^c#自从3.0开始,提供了很多便捷的语法特性(俗称“语法糖”),以简化程序员的工作量,同时也让编程变得更有乐趣,但是凡事有利必有弊。比如我们有一个类,希望能序列化成字符串后,以string方式在Silverlight与WCF(或其它后台编程技术)之间传输。using System.IO;using System.Text;using System.Xml.Serialization;namespace XmlClassSerelizer{ public class Person ...
阅读全文
posted @ 2011-06-25 22:17
菩提树下的杨过
阅读(1124)
推荐(0)
摘要:
对象拖动是一个老生常谈的话题,在SL上要实现对象拖动,一般有三种思路:一、基于Canvas绝对定位布局的拖动这种处理方法最简单,修改对象的Canvas.Top与Canvas.Left即可,简单明了!在线案例: silverlight图片局部放大效果但是很多时候,我们采用的布局并不是Canvas,如果仅仅为了实现对象拖动,把整个布局重构,代价太大,有点得不偿失。二、基于对象Margin值的拖动Margin是对象的通用属性,通过改变Margin值理论上可在任何布局下,重新定位对象的位置。在线案例: silverlight:类似iBaidu,iGoogle的拖放功能缺点就是算法处理有些小复杂,初次看
阅读全文
posted @ 2011-06-22 21:04
菩提树下的杨过
阅读(3791)
推荐(3)
摘要:
某些场景下,想将一个对象快速隐藏、恢复,而且不影响布局。有一种方法:将对象的透明度在1与0之间切换。问:为什么不用Visibility? 答:这通常会导致重新布局,即剩余可显示的控件可能会产生移动。在一些特定场景,比如报表套打中,明显不适用。但是切换透明度的方法,有时候也不太好用,比如一个Border里再套其它控件,如果只是想快速去掉Border的边框显示,而保留Border中的控件继续呈现,就不适用了。(因为Border的透明度为0后,也会同步隐藏Border内部的控件)。解决方法就是:修改Border边框颜色值中的A分量,让其在0与255之间切换。 private void btnTest
阅读全文
posted @ 2011-06-21 15:25
菩提树下的杨过
阅读(748)
推荐(0)
摘要:
做企业级应用,跟office打交道是少不了的。这里的Office不仅仅局限于微软的Office,还有第三方的Open Office之类。.Net传统的Office操作方法(比如OleDB,OWC之类),有几大缺点:一是不通用(仅能处理微软的Office,不能与其它非Windows平台交换数据),二是性能差(导出一个Excel,如果记录数上万条,速度很慢),三是服务器通常要安装Office Web Components(即OWC组件)。自从Open XML出现后,这种情况在很大程度上得到了改观,Open XML已经逐渐成为一种办公文档的通用国际标准了(该标准基于XML格式),详情见百度百科 ht
阅读全文
posted @ 2011-06-18 21:23
菩提树下的杨过
阅读(6192)
推荐(2)
摘要:
如果SL是以浏览器模式运行的,要想找到满意的快捷键,通常会让人郁闷,因为浏览器会优先拦截掉大部分默认的快捷键,如果您还安装了某些IE插件,它们的优先级也比SL高,此外,如果还开着QQ等东东,QQ又会占用一些快捷键,这样剩下可用的快捷键就不多了。测试代码如下:void MainPage_KeyDown(object sender,KeyEventArgs e){ e.Handled = true; ModifierKeys keys = Keyboard.Modifiers; bool b1 = false; if ((e.Key >= Key.A && e.Key <
阅读全文
posted @ 2011-06-17 13:55
菩提树下的杨过
阅读(1544)
推荐(0)
摘要:
web前端的自动化测试,一般要能实现模拟鼠标点击、键盘录入、浏览器页面自动导航等功能,而且关键的是要对整个测试过程能自动录制并回放。vs2010的SP2已经集成了内置功能,但是目前尚未正式发布,所以本文就不介绍了。有兴趣的同学可参考以下文章:http://msdn.microsoft.com/zh-cn/library/gg413374http://chuna2.787528.xyz/scottxu/archive/2011/02/28/1967112.html除了微软自家即将推出的vs2010 sp2之外,不少第三方厂家也推出了相应的解决方案,比如Ranorex(园子里有兄弟写过入门文章:htt
阅读全文
posted @ 2011-06-14 08:56
菩提树下的杨过
阅读(4197)
推荐(2)