平常我个人开发页面时,一般用width都是100%的,所以用frameset起来就没有什么问题,但是后来我突然需限制宽度为1024,糟了,frameset设定style都不起作用了!
  那怎么办呀?一种方法是使用table+iframe,但是做起来还比较麻烦,如果在我们已有的frameset中加工呢?呵呵,如下:

原先代码:

1<frameset rows="50,*,50">
2    <frame></frame>
3    <frame></frame>
4    <frame></frame>
5</frameset>

这样默认应该是width 100%的,现在要限制为1024,只需要几行代码,如下:

1<frameset cols="*,1024,*">
2<frame src="about:blank"></frame>
3<frameset rows="50,*,50">
4    <frame></frame>
5    <frame></frame>
6    <frame></frame>
7</frameset>
8<frame src="about:blank"></frame>
9</frameset>

 

posted @ 2012-04-25 11:32 天秤水 阅读(10) 评论(0) 编辑
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D: 删除当前行 
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变味小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)

编辑
作用域 功能 快捷键 
全局 查找并替换 Ctrl+F 
文本编辑器 查找上一个 Ctrl+Shift+K 
文本编辑器 查找下一个 Ctrl+K 
全局 撤销 Ctrl+Z 
全局 复制 Ctrl+C 
全局 恢复上一个选择 Alt+Shift+↓ 
全局 剪切 Ctrl+X 
全局 快速修正 Ctrl1+1 
全局 内容辅助 Alt+/ 
全局 全部选中 Ctrl+A 
全局 删除 Delete 
全局 上下文信息 Alt+?
Alt+Shift+?
Ctrl+Shift+Space 
Java编辑器 显示工具提示描述 F2 
Java编辑器 选择封装元素 Alt+Shift+↑ 
Java编辑器 选择上一个元素 Alt+Shift+← 
Java编辑器 选择下一个元素 Alt+Shift+→ 
文本编辑器 增量查找 Ctrl+J 
文本编辑器 增量逆向查找 Ctrl+Shift+J 
全局 粘贴 Ctrl+V 
全局 重做 Ctrl+Y 

 
查看
作用域 功能 快捷键 
全局 放大 Ctrl+= 
全局 缩小 Ctrl+- 

 
窗口
作用域 功能 快捷键 
全局 激活编辑器 F12 
全局 切换编辑器 Ctrl+Shift+W 
全局 上一个编辑器 Ctrl+Shift+F6 
全局 上一个视图 Ctrl+Shift+F7 
全局 上一个透视图 Ctrl+Shift+F8 
全局 下一个编辑器 Ctrl+F6 
全局 下一个视图 Ctrl+F7 
全局 下一个透视图 Ctrl+F8 
文本编辑器 显示标尺上下文菜单 Ctrl+W 
全局 显示视图菜单 Ctrl+F10 
全局 显示系统菜单 Alt+- 

 
导航
作用域 功能 快捷键 
Java编辑器 打开结构 Ctrl+F3 
全局 打开类型 Ctrl+Shift+T 
全局 打开类型层次结构 F4 
全局 打开声明 F3 
全局 打开外部javadoc Shift+F2 
全局 打开资源 Ctrl+Shift+R 
全局 后退历史记录 Alt+← 
全局 前进历史记录 Alt+→ 
全局 上一个 Ctrl+, 
全局 下一个 Ctrl+. 
Java编辑器 显示大纲 Ctrl+O 
全局 在层次结构中打开类型 Ctrl+Shift+H 
全局 转至匹配的括号 Ctrl+Shift+P 
全局 转至上一个编辑位置 Ctrl+Q 
Java编辑器 转至上一个成员 Ctrl+Shift+↑ 
Java编辑器 转至下一个成员 Ctrl+Shift+↓ 
文本编辑器 转至行 Ctrl+L 

 
搜索
作用域 功能 快捷键 
全局 出现在文件中 Ctrl+Shift+U 
全局 打开搜索对话框 Ctrl+H 
全局 工作区中的声明 Ctrl+G 
全局 工作区中的引用 Ctrl+Shift+G 

 
文本编辑
作用域 功能 快捷键 
文本编辑器 改写切换 Insert 
文本编辑器 上滚行 Ctrl+↑ 
文本编辑器 下滚行 Ctrl+↓ 

 
文件
作用域 功能 快捷键 
全局 保存 Ctrl+X 
Ctrl+S 
全局 打印 Ctrl+P 
全局 关闭 Ctrl+F4 
全局 全部保存 Ctrl+Shift+S 
全局 全部关闭 Ctrl+Shift+F4 
全局 属性 Alt+Enter 
全局 新建 Ctrl+N 

 
项目
作用域 功能 快捷键 
全局 全部构建 Ctrl+B 

 
源代码
作用域 功能 快捷键 
Java编辑器 格式化 Ctrl+Shift+F 
Java编辑器 取消注释 Ctrl+\ 
Java编辑器 注释 Ctrl+/ 
Java编辑器 添加导入 Ctrl+Shift+M 
Java编辑器 组织导入 Ctrl+Shift+O 
Java编辑器 使用try/catch块来包围 未设置,太常用了,所以在这里列出,建议自己设置。
也可以使用Ctrl+1自动修正。 

 
运行
作用域 功能 快捷键 
全局 单步返回 F7 
全局 单步跳过 F6 
全局 单步跳入 F5 
全局 单步跳入选择 Ctrl+F5 
全局 调试上次启动 F11 
全局 继续 F8 
全局 使用过滤器单步执行 Shift+F5 
全局 添加/去除断点 Ctrl+Shift+B 
全局 显示 Ctrl+D 
全局 运行上次启动 Ctrl+F11 
全局 运行至行 Ctrl+R 
全局 执行 Ctrl+U 

 
重构
作用域 功能 快捷键 
全局 撤销重构 Alt+Shift+Z 
全局 抽取方法 Alt+Shift+M 
全局 抽取局部变量 Alt+Shift+L 
全局 内联 Alt+Shift+I 
全局 移动 Alt+Shift+V 
全局 重命名 Alt+Shift+R 
全局 重做 Alt+Shift+Y
posted @ 2011-10-26 15:45 天秤水 阅读(17) 评论(0) 编辑
Ext.Notification.Show(new Notification.Config
{
	Title = "<a herf='#'>提示信息</a>",

	BringToFront = true,
	AlignCfg = new Notification.AlignConfig
	{
		OffsetX = -10,
		OffsetY = -10,
		El = ViewPort1.ClientID  // 这个是布局的外框架的ID,你随便整。
	},
	Html = "您当前没有未提交的工程!"
});              

posted @ 2011-09-22 15:10 天秤水 阅读(45) 评论(0) 编辑

在部署SILVERLIGHT站点时,需要能够修改WCF服务的地址,在网上搜索了多篇文章,程序改造成功。过程总结如下
1.在WEB.CONFIG中添加配置节点
 <appSettings>
    <add key ="WCFServiceAddress" value ="http://192.168.100.107/ProspectTaskWcfService/SilverLight_Service.svc"/>
</appSettings >

2.在host Silverilght 的aspx页面中添加<param name="initParams" vaule=""/>,添加完成后,如下所示:
我们要是想给SILVERLIGHT传点别的什么东西,也可以用这种方式

<param name="source" value="ClientBin/Jurassic.ProspectTask.Web.Control.WorkPlan.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40624.0" />
<param name="autoUpgrade" value="true" />
<param name="initParams" value="wcfServiceUrl=<%=ConfigurationManager.AppSettings["WCFServiceAddress"] %> " />

如果要在initParams中传入多个参数,可以在参数与参数之间有,隔开。如:关键字a=值a,关键字b=值b

3.在SilverLight工程下App.xmal.cs中,添加属性CustomConfigurations,并修改事件Application_Startup。如下所示
private  IDictionary<string, string> _customConfigurations; 
public IDictionary<string, string> CustomConfigurations 

    get { return _customConfigurations; } 

 
public App() 

    this.Startup += this.Application_Startup; 
    this.Exit += this.Application_Exit; 
    this.UnhandledException += this.Application_UnhandledException; 
 
    InitializeComponent(); 

 
private void Application_Startup(object sender, StartupEventArgs e) 

    _customConfigurations = e.InitParams; 
    this.RootVisual = new MainPage(); 
      
}
4.在SilverLight工程中添加一个新CLASS,用于返回一个连接的实例
public class WcfService 
    { 
        public WcfService() 
        { 
        } 
  
        public SilverService.SilverLightClient GetWCF() 
        { 
            App application = (App)Application.Current; 
            string url = application.CustomConfigurations["wcfServiceUrl"]; 
  
            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None); 
            binding.MaxReceivedMessageSize = int.MaxValue; 
            binding.MaxBufferSize = int.MaxValue; 
            // 
            SilverService.SilverLightClient client = new SilverService.SilverLightClient(binding, new EndpointAddress(new Uri(url))); 
            return client; 
        } 
    }
在我们需要调用WCF服务时,就可通过上边的方法获取实例了
WcfService wcf = new WcfService(); 
SilverService.SilverLightClient client = wcf.GetWCF(); 
client.UpdatePlanCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(OnCompleted); 
client.UpdatePlanAsync(_planEntity);

文章来自学IT网:http://www.xueit.com/html/2011-05/111-7254361172011513153445656.html

posted @ 2011-06-13 09:40 天秤水 阅读(328) 评论(0) 编辑

Textbox验证
AllowBlank=“false”必填项,EmptyText =“必须输入联系人”。使用默认信息就可以了。


数值其他类型验证
Vtype 属性 等于 email时 是对email 格式验证
                  等于 url 时 对url 验证 
                  等于 alpha //只能输入字母,无法输入其他(如数字,特殊符号等)
             等于 alphanum//只能输入字母和数字,无法输入其他
属性MinLength 最小长度         属性MaxLength 最大长度

Email 类型验证
<ext:TextField ID="TextField2" runat="server" Vtype=” email”> </ext:TextField>

正则表达式验证
<ext:TextField ID="TextField2" runat="server"   Regex="^[1-9]\d*$" > </ext:TextField>

匹配特定数字:
^[1-9]\d*$    //匹配正整数
^-[1-9]\d*$   //匹配负整数
^-?[1-9]\d*$   //匹配整数
^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)

Number 类型过滤  
<ext:TextField ID="TextField2" runat="server" MaskRe="/[0-9\$\.]/"> </ext:TextField>

电话号码格式过滤
<ext:TextField ID="TextField2" runat="server">
  <lugins>
    <ux:InputTextMask Mask="(99) 9999-9999"></ux:InputTextMask>
  </Plugins>
</ext:TextField>
手机格式
<ext:TextField ID="TextField2" runat="server">
  <lugins>
    <ux:InputTextMask Mask="0999-999-999"></ux:InputTextMask>
  </Plugins>
</ext:TextField>
Fax格式
<ext:TextField ID="TextField2" runat="server">
  <lugins>
    <ux:InputTextMask Mask="99-9999-9999"></ux:InputTextMask>
  </Plugins>
</ext:TextField>
ABN and ACN 格式
<ext:TextField ID="TextField2" runat="server">
  <lugins>
    <ux:InputTextMask Mask="99-999-999-999"></ux:InputTextMask>
  </Plugins>
</ext:TextField>

两个时间控件时间间隔设置 
<extateField runat="server" ID="FromDate" Vtype="daterange" FieldLabel="To">
  <Listeners>
    <Render Handler="this.endDateField = '#{ToDate}'" />
  </Listeners>
</extateField>
<extateField runat="server" ID="ToDate" Vtype="daterange" FieldLabel="From">
  <Listeners>
    <Render Handler="this.startDateField = '#{FromDate}'" />
  </Listeners>
</extateField>

posted @ 2011-03-29 14:58 天秤水 阅读(97) 评论(0) 编辑
摘要: 使用以上方法必须对dcom进行配置,给用户使用office的权限。 具体配置方法如下: 1:在服务器上安装office的Excel软件. 2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务" 3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置" 4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框 5:点击"标识"标签,选择"交互式用户" 6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"阅读全文
posted @ 2011-02-20 11:45 天秤水 阅读(404) 评论(0) 编辑
摘要: 1.建表 ID 必须是 Number(10)2.建序列CREATE SEQUENCE SDE.SEQ_THM_XZYS START WITH 2 MAXVALUE 9999999999999999999999999999 MINVALUE 1 NOCYCLE CACHE 20 NOORDER;3.建触发器create or replace trigger TGI_THM_XZYS_ID before insert on SDE.THM_XZYS for each rowbegin select to_char(SDE.SEQ_THM_XZYS.nextval) into:new.ID from阅读全文
posted @ 2011-01-25 14:15 天秤水 阅读(126) 评论(0) 编辑
摘要: 每个引擎都不能没有粒子系统,U3D的粒子系统也同样相当的强大,更多的细节以后用到慢慢补充。 属性: Ellipsoid Particle Emitter Min / Max Size每个粒子的半径大小随机范围;越大每个粒子就越大,整个粒子系统看起来就越厚 Min / Max Energy每个粒子的能量随机范围;能量在空气中耗光就消失,能量越大,粒子从产生到消亡时间就越久 Min / Max Emission 粒子单位时间排放量随机范围;排放量越大,粒子密度越大。 World Velocity (x,y,z)相对世界坐标系的各个轴速度。 Local Velocity(x,y,z) 相对粒子的坐标阅读全文
posted @ 2011-01-12 13:51 天秤水 阅读(1200) 评论(0) 编辑
摘要: Terrain是U3D自带的地形引擎,IDE可直接可视化绘制。工具很方便,使用方面就不多写了。 Note 1: Terrain是不能低于 y=0 这个平面的,要想制作沟壑,需要先提高地形平面,在 Terrain - Flatten HeightMap里设置Note 2:: 材质的Tile Size X 和 Tile Size Y设置贴图的大小,值越大,在坐标轴上单次绘制的边长就越大。 Note3: Terrain支持快速绘制树木(当然你要把其他东西当树也可以=.=),就是使用树木刷子,设置好树的模型,密度等,就可以直接刷了。很方便,别犯傻自己在那里一颗颗拖出来插树就好。。 Note4: Ter阅读全文
posted @ 2011-01-11 14:28 天秤水 阅读(1177) 评论(0) 编辑
摘要: 首先引入相应的命名空间:[代码]1.指定连接用的用户。[代码]2.连接到服务器。 要通过程序来连接到GISServer,主要有两个对象可以使用:ESRI.ArcGIS.Server.GISServerConnection(实现了IGISServerConnection2接口)和ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection。前者是com对象,后者是原生的.net对象。 先来看ESRI.ArcGIS.Server.GISServerConnection。使用方法如下:  ESRI.ArcGIS.Server.IGISServerConnect阅读全文
posted @ 2010-12-29 15:00 天秤水 阅读(2275) 评论(1) 编辑