05 2012 档案

摘要:类库优点:1. 快速建表2. 封装CURD操作,更加简洁3. 兼容PhoneGap4. 自己用着顺手,简化操作void function(version){ var app = function(e) { _this.DB; } /** * 初始化数据库 * @param {String} dbName * @param {String} dbVersion * @param {String} dbDesc * @param {String} dbSize */ app.prototype.d... 阅读全文
posted @ 2012-05-30 14:41 范永强 阅读(160) 评论(0) 推荐(0) 编辑
摘要:类库优点:1. 快速建表2. 封装CURD操作,更加简洁3. 兼容PhoneGap4. 自己用着顺手,简化操作void function(version){ var app = function(e) { _this.DB; } /** * 初始... 阅读全文
posted @ 2012-05-30 14:41 范永强 阅读(266) 评论(0) 推荐(0) 编辑
摘要:最简单的弹出store中的值listeners: { itemtap: function(nestedList, list, index, target,record,e,eOpts) { var id = record.get('id'); ... 阅读全文
posted @ 2012-05-27 12:21 范永强 阅读(97) 评论(0) 推荐(0) 编辑
摘要:最简单的弹出store中的值listeners: { itemtap: function(nestedList, list, index, target,record,e,eOpts) { var id = record.get('id'); alert(id); } 阅读全文
posted @ 2012-05-27 12:21 范永强 阅读(115) 评论(0) 推荐(0) 编辑
摘要:listeners: { el: { tap: function(e, target){ self.query('button[action=desktop_set_cancel_btn]')[0].setText('完成'); var uiName = $(target).parent('.ui_list_item').attr('ths_ui_name'); $(target).pare... 阅读全文
posted @ 2012-05-27 12:20 范永强 阅读(152) 评论(0) 推荐(0) 编辑
摘要:listeners: { el: { tap: function(e, target){ self.query('button[action=desktop_set_cancel_btn... 阅读全文
posted @ 2012-05-27 12:20 范永强 阅读(222) 评论(0) 推荐(0) 编辑
摘要:代码:Ext.application({ name: 'Sencha', phoneStartupScreen: 'resources/loading/Homescreen.jpg', tabletStartupScreen: 'resources/loading/Homescreen~ipad.jpg', launch: function() { //The whole app UI lives in this tab panel Ext.Viewport.add({ xtype: 'tabpanel', ... 阅读全文
posted @ 2012-05-27 12:18 范永强 阅读(209) 评论(0) 推荐(0) 编辑
摘要:代码:Ext.application({ name: 'Sencha', phoneStartupScreen: 'resources/loading/Homescreen.jpg', tabletStartupScreen: 'resources/loading/Homescre... 阅读全文
posted @ 2012-05-27 12:18 范永强 阅读(117) 评论(0) 推荐(0) 编辑
摘要:我们以sencha touch ajax为例,在index.html模板中定义'', '', '',插入一个base64的图片数据载入到img标签中,效果如下:什么是Base64:Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9 ,这样共有62个字符,此外两个可打印符号在不同的系统 阅读全文
posted @ 2012-05-27 12:16 范永强 阅读(165) 评论(0) 推荐(0) 编辑
摘要:1.首先假设有一张list。2.初步代码:定义一个数据仓库store,大体如下3.修改一下,加入排序(sortProperty是一个属性)4.最后在你显示的list里 加 grouped: true, 阅读全文
posted @ 2012-05-27 12:14 范永强 阅读(148) 评论(0) 推荐(0) 编辑
摘要:lz使用了时下最火的st mvc框架https://github.com/kostysh/Sencha-Touch-2.0-MVC-test-application-with-NestedList发现部署后无法识别App.json这个文件心急如焚幸亏得到l.m同学的帮助,搞定。需参考两篇文章,让iis识别.json格式才行参考1:http://hi.baidu.com/yashua839/blog/item/e2e8913fe31b59d07c1e7166.html参考2:http://wenku.baidu.com/view/be78b04ffe4733687e21aa62.html 阅读全文
posted @ 2012-05-27 12:12 范永强 阅读(102) 评论(0) 推荐(0) 编辑
摘要:lz使用了时下最火的st mvc框架https://github.com/kostysh/Sencha-Touch-2.0-MVC-test-application-with-NestedList发现部署后无法识别App.json这个文件心急如焚幸亏得到l.m同学的帮助,搞定。需参考两篇文章,让ii... 阅读全文
posted @ 2012-05-27 12:12 范永强 阅读(110) 评论(0) 推荐(0) 编辑
摘要:1.在jsonp方法中拼json2.参数format jsonproxy: { type: 'jsonp', url: 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://feeds.feedburner.com/SenchaBlog', params:{ Passport: E... 阅读全文
posted @ 2012-05-27 12:10 范永强 阅读(170) 评论(0) 推荐(0) 编辑
摘要:1.在jsonp方法中拼json2.参数format jsonproxy: { type: 'jsonp', url: 'https://ajax.googleapis.com/ajax/serv... 阅读全文
posted @ 2012-05-27 12:10 范永强 阅读(139) 评论(0) 推荐(0) 编辑
摘要:在这里lz使用了很笨的remove,add方法1.Ext.getCmp('testform').remove(Ext.getCmp('question'),true)question是一个fieldset移除form中的一些item,全部清除可以用removeAll的办法2.record.pojoa().each(function(answerArray){ //console.log(answerArray) var checkbox = { name:answerArray.id, xtype:'checkboxfield', label:. 阅读全文
posted @ 2012-05-27 12:08 范永强 阅读(118) 评论(0) 推荐(0) 编辑
摘要:在这里lz使用了很笨的remove,add方法1.Ext.getCmp('testform').remove(Ext.getCmp('question'),true)question是一个fieldset移除form中的一些item,全部清除可以用removeAll的办法2.record.pojoa... 阅读全文
posted @ 2012-05-27 12:08 范永强 阅读(103) 评论(0) 推荐(0) 编辑
摘要:0.首先下载mvc框架:https://github.com/kostysh/Sencha-Touch-2.0-MVC-test-application-with-NestedList1.在框架中要在app.js 这个文件中使用:launch: function() { //Ext.getBody().removeCls('loading'); // Destroy the #appLoadingIndicator element Ext.fly('appLoadingIndicator').destroy(); // Initializ... 阅读全文
posted @ 2012-05-27 12:02 范永强 阅读(167) 评论(0) 推荐(0) 编辑
摘要:0.首先下载mvc框架:https://github.com/kostysh/Sencha-Touch-2.0-MVC-test-application-with-NestedList1.在框架中要在app.js 这个文件中使用:launch: function() { //Ext.g... 阅读全文
posted @ 2012-05-27 12:02 范永强 阅读(123) 评论(0) 推荐(0) 编辑
摘要:st2中定义storedataStore = Ext.create('Ext.data.Store', { model: "OilRecord", syncRemovedRecords: true, sorters: [ { property : 'id', direction: 'DESC' } ] ... 阅读全文
posted @ 2012-05-27 11:56 范永强 阅读(135) 评论(0) 推荐(0) 编辑
摘要:st2中定义storedataStore = Ext.create('Ext.data.Store', { model: "OilRecord", syncRemovedRecords: true, sorters: [ ... 阅读全文
posted @ 2012-05-27 11:56 范永强 阅读(107) 评论(0) 推荐(0) 编辑
摘要:主要是phonegap的用法,sencha比较简单,首先第一步我们根据教程在spring source(java ide)中根据教程创建项目。参考:http://www.phonegap.cn/?page_id=442#android需要嵌入phonegap代码时希望大家能够注意:然后在你的JS里面这样写 function mainLaunch(){ Ext.application({就可以了 阅读全文
posted @ 2012-05-27 11:53 范永强 阅读(145) 评论(0) 推荐(0) 编辑
摘要:主要是phonegap的用法,sencha比较简单,首先第一步我们根据教程在spring source(java ide)中根据教程创建项目。参考:http://www.phonegap.cn/?page_id=442#android需要嵌入phonegap代码时希望大家能够注意:然后在你的JS里面... 阅读全文
posted @ 2012-05-27 11:53 范永强 阅读(112) 评论(0) 推荐(0) 编辑
摘要:方法1.在父容器中设置layout;'card',在子容器中设置layout:'fit'方法2:就是用document获取屏幕的宽和高,然后用setWidth方法进行设置 加载时 通过 //获取浏览器的高宽 winWidth = Ext.getBody().getWidth(); winHeight = Ext.getBody().getHeight(); 设置面板的时候 config: { width:winWidth ,height:winHeight,} 阅读全文
posted @ 2012-05-27 11:51 范永强 阅读(91) 评论(0) 推荐(0) 编辑
摘要:方法1.在父容器中设置layout;'card',在子容器中设置layout:'fit'方法2:就是用document获取屏幕的宽和高,然后用setWidth方法进行设置 加载时 通过 //获取浏览器的高宽 winWidth = Ext.getBody().getWidth(); w... 阅读全文
posted @ 2012-05-27 11:51 范永强 阅读(99) 评论(0) 推荐(0) 编辑
摘要:question:在app.js里没有launch:function()时怎么能知道程序从哪个地方开始的呢?就像例子ST2MVC中那样answer:launch:function() 这里就开始啊evidence:init的调用是在加载之前做的嘛,这个是根据JS的从上到下顺序执行的其中具体流程为:index.html 加载 ../../microloader/development.js它会根据app.json的配置,加载../../sencha-touch-debug.js和app.jsapp.js中定义了: profiles: ['Tablet', 'Phone&# 阅读全文
posted @ 2012-05-27 11:47 范永强 阅读(107) 评论(0) 推荐(0) 编辑
摘要:question:在app.js里没有launch:function()时怎么能知道程序从哪个地方开始的呢?就像例子ST2MVC中那样answer:launch:function() 这里就开始啊evidence:init的调用是在加载之前做的嘛,这个是根据JS的从上到下顺序执行的其中具体流程为:i... 阅读全文
posted @ 2012-05-27 11:47 范永强 阅读(80) 评论(0) 推荐(0) 编辑
摘要:1.服务器上打开2.或者使用safari原因:需要服务器上打开是因为最新版的st使用了json文件作为app的配置文件,首页通过ajax加载该json文件,出于安全考虑,在chrome中,ajax无法读取本地路径的json文件,所以是一片空白,safari中可以 阅读全文
posted @ 2012-05-27 11:45 范永强 阅读(122) 评论(0) 推荐(0) 编辑
摘要:1.服务器上打开2.或者使用safari原因:需要服务器上打开是因为最新版的st使用了json文件作为app的配置文件,首页通过ajax加载该json文件,出于安全考虑,在chrome中,ajax无法读取本地路径的json文件,所以是一片空白,safari中可以 阅读全文
posted @ 2012-05-27 11:45 范永强 阅读(120) 评论(0) 推荐(0) 编辑
摘要:通过nestlist可以自定义一个有标题到内容的一个组合布局如图Ext.create(的“Ext.tab.Panel”,{ 全屏:真实, tabBarPosition:'底部', 项目:[ { ... 阅读全文
posted @ 2012-05-27 11:43 范永强 阅读(127) 评论(0) 推荐(0) 编辑
摘要:通过nestlist可以自定义一个有标题到内容的一个组合布局如图Ext.create(的“Ext.tab.Panel”,{ 全屏:真实, tabBarPosition:'底部', 项目:[ { 的xtype:'nestedlist 标题:“博客” iconCls:'明星', displayField:'标题', ... 阅读全文
posted @ 2012-05-27 11:43 范永强 阅读(163) 评论(0) 推荐(0) 编辑
摘要:html页面中的代码 Filter Add Resetjqury代码$("#filter").click(function () { for (var i = 1; i "; newDiv.innerHTML = str; newDiv.setAttribute(... 阅读全文
posted @ 2012-05-27 11:42 范永强 阅读(747) 评论(0) 推荐(0) 编辑
摘要:html页面中的代码 Filter Add Resetjqury代码$("#fi... 阅读全文
posted @ 2012-05-27 11:42 范永强 阅读(451) 评论(0) 推荐(0) 编辑
摘要:操作步骤:1.声明指定样式类的类名2.修改其中的样式3.加载时即设定click事件。举例:$(document).ready(function () { document.getElementById('comment').className = ".ui-tabs .ui-tabs-hide"; document.getElementById('comment').style.cssText = "display:block"; document.getElementById('question').cl 阅读全文
posted @ 2012-05-27 11:39 范永强 阅读(276) 评论(0) 推荐(0) 编辑
摘要:操作步骤:1.声明指定样式类的类名2.修改其中的样式3.加载时即设定click事件。举例:$(document).ready(function () { document.getElementById('comment').className = ".ui-tabs .ui-t... 阅读全文
posted @ 2012-05-27 11:39 范永强 阅读(145) 评论(0) 推荐(0) 编辑
摘要:用jquey循环三个元素对象,其中首先利用jquery的选择器选取id为edit的包装集,利用jquery内置的each方法枚举每个对象同时在对象的事件上绑定函数至,本例使用了点击事件,当事件触发时将屏幕弹出一个简单的窗口。 例子:$("a[id='edit']").each(function (index) { $(this).click(function(){alert('sfsafasdf');}); }); $("a[id='add']").each(function (index) { $(thi 阅读全文
posted @ 2012-05-27 11:38 范永强 阅读(509) 评论(0) 推荐(0) 编辑
摘要:用jquey循环三个元素对象,其中首先利用jquery的选择器选取id为edit的包装集,利用jquery内置的each方法枚举每个对象同时在对象的事件上绑定函数至,本例使用了点击事件,当事件触发时将屏幕弹出一个简单的窗口。 例子:$("a[id='edit']").each(function (i... 阅读全文
posted @ 2012-05-27 11:38 范永强 阅读(289) 评论(0) 推荐(0) 编辑
摘要:首先请大家了解TortiseSVN(SVN)只不过是一个供多人开发版本控制的工具,并不是把文件上传到服务器,让大家下载而已,所以以为这样可以直接对网站应用进行更新操作的同志,请大家另外想办法(除非服务器那边再装一个TortiseSVN客户端,从版本控制那里获得文件)。1.安装 Apache(lz装的是httpd-2.2.22-win32-x86-no_ssl.msi)从Apache网站http://httpd.apache.org/download.cgi下载最新版本的Apache,请确定你下载的版本高于2.0.54-1.3.xx的版本不能工作!同样,低于2.0.54的版本不能与Subvers 阅读全文
posted @ 2012-05-27 11:36 范永强 阅读(251) 评论(0) 推荐(0) 编辑
摘要:最近做了一些sencha touch的学习,对于自己进来的一些学习心得给大家分享一下。可能都是些基础的东西,没办法啦,呵呵 ,本人也是入门级的水平。先讨论一下sencha touch中最常用到的布局——FormPanel。FormPanel是Panel的子类,就是一种表单显示形式的面板。这是最简单的一种FormPanel。代码如下:var FormTest = new Ext.form.FormPanel({ scroll: 'vertical',defaults: {// labelAlign: 'right'labelWidth: '35%' 阅读全文
posted @ 2012-05-21 13:47 范永强 阅读(172) 评论(0) 推荐(0) 编辑
摘要:最近做了一些sencha touch的学习,对于自己进来的一些学习心得给大家分享一下。可能都是些基础的东西,没办法啦,呵呵 ,本人也是入门级的水平。先讨论一下sencha touch中最常用到的布局——FormPanel。FormPanel是Panel的子类,就是一种表单显示形式的面板。这是最简单的... 阅读全文
posted @ 2012-05-21 13:47 范永强 阅读(91) 评论(0) 推荐(0) 编辑
摘要:sencha touch中提供的datepicker,是英文版的,在中国做软件当然要汉化。如上图,就是sencha的原版datepicker,我们要对它进行汉化。找源码:找到js源码文件sencha-touch-debug.js在文件中搜索datepicker部分。找到Ext.DatePicker的initComponent方法,对如下代码做修改for (i = yearsFrom; i <= yearsTo; i++) { years.push({ text: i,//此处修改为 text:i +' 年', value: i }); }和for (i = 0; i &l 阅读全文
posted @ 2012-05-21 13:42 范永强 阅读(173) 评论(0) 推荐(1) 编辑
摘要:sencha touch中提供的datepicker,是英文版的,在中国做软件当然要汉化。如上图,就是sencha的原版datepicker,我们要对它进行汉化。找源码:找到js源码文件sencha-touch-debug.js在文件中搜索datepicker部分。找到Ext.DatePicker的... 阅读全文
posted @ 2012-05-21 13:42 范永强 阅读(89) 评论(0) 推荐(0) 编辑
摘要:列表组件要求两个前提条件被定义:用来进行数据存储的存储器和itemTpl 负责来显示数据.。要求列表来显示针对每条新闻的标题和日期,因此我们把我们在所定义的新闻模型的属性名称放在花括号中括起来。.下面让我们对列表的类型稍做风格的修饰,打开res/css/style.css并且添加下面的内容:.x-list-item-body { font-size: 0.8em; color: #0b3e7b; font-weight: bold;}.x-list-item-body .date { color: #666; font-weight: normal;}这里就是新闻... 阅读全文
posted @ 2012-05-08 14:58 范永强 阅读(109) 评论(0) 推荐(0) 编辑
摘要:列表组件要求两个前提条件被定义:用来进行数据存储的存储器和itemTpl 负责来显示数据.。要求列表来显示针对每条新闻的标题和日期,因此我们把我们在所定义的新闻模型的属性名称放在花括号中括起来。.下面让我们对列表的类型稍做风格的修饰,打开res/css/style.css并且添加下面的内容:.x-l... 阅读全文
posted @ 2012-05-08 14:58 范永强 阅读(90) 评论(0) 推荐(0) 编辑
摘要:建立一个新的控制器以处理新闻(NewsController.js):Ext.regController('News', { // index action index: function(options) { if ( ! this.indexView) { this.indexView = this.render({ xtype: 'NewsIndex', }); } var backBtn = this.application.view... 阅读全文
posted @ 2012-05-08 14:57 范永强 阅读(113) 评论(0) 推荐(0) 编辑
摘要:建立一个新的控制器以处理新闻(NewsController.js):Ext.regController('News', { // index action index: function(options) { if ( ! this.indexView) ... 阅读全文
posted @ 2012-05-08 14:57 范永强 阅读(109) 评论(0) 推荐(0) 编辑
摘要:现在,让我们在app/data/ 目录下建立news.json 文件,并且从Sencha Touch Press添加一些新闻消息:[ { "title": "Beyond jQuery: JavaScript Tools For The HTML5 Generation", "date": "November 09, 2011", "content": "One of the stated goals of HTML5, at least for some groups, is to 阅读全文
posted @ 2012-05-08 14:56 范永强 阅读(121) 评论(0) 推荐(0) 编辑
摘要:现在,让我们在app/data/ 目录下建立news.json 文件,并且从Sencha Touch Press添加一些新闻消息:[ { "title": "Beyond jQuery: JavaScript Tools For The HTML5 Generation", ... 阅读全文
posted @ 2012-05-08 14:56 范永强 阅读(100) 评论(0) 推荐(0) 编辑
摘要:创建存储器Store“存储类包含了一个客户端的模型对象的缓存,存储器通过代理加载数据,并且提供了针对其所包含模型实例数据的排序、过滤、查询模型实例“ (摘自Sencha Touch 文档)针对新闻item存储器模型将在app/stores/目录下创建,并且放置在NewsItemsStore.js 的这个文件中,文件包含下面的内容:Ext.regStore('NewsItems', { model: 'NewsItem', proxy: { type: 'ajax', url : 'app/data/news.json', }, a 阅读全文
posted @ 2012-05-08 14:28 范永强 阅读(149) 评论(0) 推荐(0) 编辑
摘要:创建存储器Store“存储类包含了一个客户端的模型对象的缓存,存储器通过代理加载数据,并且提供了针对其所包含模型实例数据的排序、过滤、查询模型实例“ (摘自Sencha Touch 文档)针对新闻item存储器模型将在app/stores/目录下创建,并且放置在NewsItemsStore.js 的... 阅读全文
posted @ 2012-05-08 14:28 范永强 阅读(123) 评论(0) 推荐(0) 编辑
摘要:在从零开始学习sencha touch MVC应用系列的最后一部分内容中,将在应用中添加一些数据来继续我们前面所讲的部分开发程序。在开始之前,请大家注意为了使这篇文章的所有例子都能运行,务必要将应用放在web环境中运行,因为应用中采用了AJAX技术,需要访问数据。下面开始为我们的应用添加一些消息在向应用添加消息之前,我们必须首先定义我们实际的一个消息条目所具有的属性,我们将通过创建一个模型来实现。建立模型“一个模型代表着应用所管理的对象,例如:我们可以定义一个关于用户、产品、汽车,等等诸如此类的现实世界对象的模型,这些都是我们想在系统中模型化的对象” (摘自Sencha Touch 官方文档) 阅读全文
posted @ 2012-05-08 14:07 范永强 阅读(131) 评论(0) 推荐(0) 编辑
摘要:在从零开始学习sencha touch MVC应用系列的最后一部分内容中,将在应用中添加一些数据来继续我们前面所讲的部分开发程序。在开始之前,请大家注意为了使这篇文章的所有例子都能运行,务必要将应用放在web环境中运行,因为应用中采用了AJAX技术,需要访问数据。下面开始为我们的应用添加一些消息在向... 阅读全文
posted @ 2012-05-08 14:07 范永强 阅读(87) 评论(0) 推荐(0) 编辑
摘要:我们已经给search-panel设置了cls属性:“一个可以添加到这个组件元素中的供选择的附加CSS类(默认为“”),主要可用于对组件的定制风格或者其组件元素的CSS规范化等”(引自SenchaTouch的相关文档),我们将使用这些类来达到视图的半透明化处理的目的。Search View将镶嵌在其他视图的顶部,并且不是以子视图窗口的方式显示,所以我们需要设置全屏属性,以强制组件尽可能的占用所有的可用空间。因为我们想让我们的搜索视图有滑动功能,我们需要设置浮动floating属性为true,否则视图将显示没有滑动动画功能,下面就是sencha Touch文档关于此问题的描述:“以浮动属性来创建 阅读全文
posted @ 2012-05-08 14:05 范永强 阅读(98) 评论(0) 推荐(0) 编辑
摘要:我们已经给search-panel设置了cls属性:“一个可以添加到这个组件元素中的供选择的附加CSS类(默认为“”),主要可用于对组件的定制风格或者其组件元素的CSS规范化等”(引自SenchaTouch的相关文档),我们将使用这些类来达到视图的半透明化处理的目的。Search View将镶嵌在其... 阅读全文
posted @ 2012-05-08 14:05 范永强 阅读(106) 评论(0) 推荐(0) 编辑
摘要:我们已经为搜索按钮添加了两个新的属性:iconCls 和 iconMask。iconCls,是一个用来作为按钮图标进行设置css类背景图片的类(引自sencha touch文档),通过给search按钮设置属性值使按钮有一个放大镜的背景图像,为使这个特性能正常运转,我们也需要设置iconMask属性为true。为Action设置了UI属性,可以使搜索按钮具有不风格。下面就是按钮显示:现在我们必须为search按钮设置处理器的功能,因为这个按钮将总是做同样的事情,我们可以在应用中的分发功能中设置其处理器的功能如下:launch: (){ this.viewport = new A... 阅读全文
posted @ 2012-05-08 14:02 范永强 阅读(139) 评论(0) 推荐(0) 编辑
摘要:我们已经为搜索按钮添加了两个新的属性:iconCls 和 iconMask。iconCls,是一个用来作为按钮图标进行设置css类背景图片的类(引自sencha touch文档),通过给search按钮设置属性值使按钮有一个放大镜的背景图像,为使这个特性能正常运转,我们也需要设置iconMask属性... 阅读全文
posted @ 2012-05-08 14:02 范永强 阅读(143) 评论(0) 推荐(0) 编辑
摘要:隐藏和显示工具条的回退按钮工具条的回退按钮只有在其需要的时候才显示,因此在index view视图中应当是隐藏的。在上面的index action中:this.application.viewport.setActiveItem(this.indexView, options.animation);添加:var backBtn = this.application.viewport.query('#backBtn')[0];backBtn.hide();在about action仅有如下代码:var backBtn = this.application.viewport.que 阅读全文
posted @ 2012-05-08 13:55 范永强 阅读(131) 评论(0) 推荐(0) 编辑
摘要:隐藏和显示工具条的回退按钮工具条的回退按钮只有在其需要的时候才显示,因此在index view视图中应当是隐藏的。在上面的index action中:this.application.viewport.setActiveItem(this.indexView, options.animation);... 阅读全文
posted @ 2012-05-08 13:55 范永强 阅读(100) 评论(0) 推荐(0) 编辑
摘要:现在我们来修改传递给分发功能的对象如下:Ext.dispatch({ controller: 'Home', action: 'index', historyUrl: 'Home/index', // animation: { type: 'slide', reverse: true, },});我们已经为指定动画属性的对象添加动画的客户属性,这个对象将从index action传递到setActiveItem功能,我们可以添加任何多的我们所希望添加的客户属性。我们下一步将看到我们是如何通过分发功能来实现对客户属性的访问的。下面我 阅读全文
posted @ 2012-05-08 13:53 范永强 阅读(95) 评论(0) 推荐(0) 编辑
摘要:现在我们来修改传递给分发功能的对象如下:Ext.dispatch({ controller: 'Home', action: 'index', historyUrl: 'Home/index', // animation: { type: 'slide',... 阅读全文
posted @ 2012-05-08 13:53 范永强 阅读(106) 评论(0) 推荐(0) 编辑
摘要:查询功能执行Ext.ComponentQuery.query,并且返回一个组件队列,因此,有且仅有一个组件条目化ID为BackBtn,返回阵列的第一项就是工具条按钮。如果需要查找更多的关于组件查询资料,你可以到这里( here )来阅读和查zho,看看Sencha Touch文档是如何来解释的。 既然我们已经得到了按钮的实例,我们就可以附加一个处理器,当按钮被触按/点击时来触发。我们实现这个通过传递一个功能到setHandler按钮的方法,在这个功能中,我们用Ext.redirect回到index action通过传递其路由。Ext.redirect是Ext.Dispatcher.redire 阅读全文
posted @ 2012-05-08 13:52 范永强 阅读(119) 评论(0) 推荐(0) 编辑
摘要:查询功能执行Ext.ComponentQuery.query,并且返回一个组件队列,因此,有且仅有一个组件条目化ID为BackBtn,返回阵列的第一项就是工具条按钮。如果需要查找更多的关于组件查询资料,你可以到这里( here )来阅读和查zho,看看Sencha Touch文档是如何来解释的。 既... 阅读全文
posted @ 2012-05-08 13:52 范永强 阅读(124) 评论(0) 推荐(0) 编辑
摘要:由于我们没有设定xtype,工具条将使用按钮xtype,并且作为Ext.Button类的一个实例。按钮的文本属性将成为按钮的标签。使用itemId可以得到按钮对象的实例,我们可以利用这一特性在适当的时候来实现按钮的显示和隐藏,但是最重要的是这个功能可以被用作当按钮被触按和点击时附加调用方法。UI属性定义了按钮的风格,设置其为回退功能,按钮为前向箭头。下面这里是工具条看起来的一种形状:下面我们来为外部工具条按钮添加处理器。为按钮添加处理功能,首先需要做的是先获得其实例,然后调用按钮的setHandler方法。因此,要打开上面的about action的Home控制器(app/controller 阅读全文
posted @ 2012-05-08 13:50 范永强 阅读(82) 评论(0) 推荐(0) 编辑
摘要:由于我们没有设定xtype,工具条将使用按钮xtype,并且作为Ext.Button类的一个实例。按钮的文本属性将成为按钮的标签。使用itemId可以得到按钮对象的实例,我们可以利用这一特性在适当的时候来实现按钮的显示和隐藏,但是最重要的是这个功能可以被用作当按钮被触按和点击时附加调用方法。UI属性... 阅读全文
posted @ 2012-05-08 13:50 范永强 阅读(65) 评论(0) 推荐(0) 编辑
摘要:用HTML 连接来调用控制器的anction首先,我们将用HTML 连接来调用控制器的anction,因此,要修改HomeIndex 视图的html属性如下:html: 'About',在href属性的定位标记中,我们添加了以“#”为开头前缀的路由符号。现在我们用基于WebKit浏览器打开index.html,你将看到你想看到的效果,如果你在这个标示上点击将被重新定向到About action上。当你在About action界面,你可以点击浏览器上的回退按钮,则可以回到index action按钮,当你在action之间前后进行切换时,你可以看到index.html#Home 阅读全文
posted @ 2012-05-08 13:49 范永强 阅读(99) 评论(0) 推荐(0) 编辑
摘要:用HTML 连接来调用控制器的anction首先,我们将用HTML 连接来调用控制器的anction,因此,要修改HomeIndex 视图的html属性如下:html: 'About',在href属性的定位标记中,我们添加了以“#”为开头前缀的路由符号。现在我们用基于WebKit浏览器打开index... 阅读全文
posted @ 2012-05-08 13:49 范永强 阅读(93) 评论(0) 推荐(0) 编辑
摘要:在此我们将要继续构建我们的Sencha Touch MVC app应用工程,这次我们将探索控制器action的不同调用方式。控制器action的调用方式将按下面三种方式:l 利用路由作为href属性的定位标记的一个值的方式:Some Routel 利用Ext.dispatch 和 Ext.redirect 功能: Ext.redirect(‘route’)l 直接调用控制器的action:Ext.ControllerManager.get(‘SomeController’).someAction()或同一控制器的this.someAction()。首先,我们在HomeC... 阅读全文
posted @ 2012-05-08 13:48 范永强 阅读(109) 评论(0) 推荐(0) 编辑
摘要:在此我们将要继续构建我们的Sencha Touch MVC app应用工程,这次我们将探索控制器action的不同调用方式。控制器action的调用方式将按下面三种方式:l 利用路由作为href属性的定位标记的一个值的方式:Some Routel 利用Ext.dispatch 和 E... 阅读全文
posted @ 2012-05-08 13:48 范永强 阅读(105) 评论(0) 推荐(0) 编辑
摘要:在目前实现的应用中,你将看到上图所示的效果,我们已经添加了一些html标签在内容中,但效果看起来还是普通的文本文字效果,为了达到预期的目标我需要设置视图的styleHtmlContent属性为true。正如你看到的,内容被切割掉不能向下滑动,为了能够达滚动效果,需要设置纵向的滚动翻屏属性,下面就是相关代码:scroll: 'vertical',styleHtmlContent: true,style: 'background: #d8e2ef',我们也加入了风格属性在CSS标尺中,使视图的滑动动画效果更好些,现在你的文本内容在蓝色的背景看上去效果好多了,当你在视 阅读全文
posted @ 2012-05-08 13:46 范永强 阅读(94) 评论(0) 推荐(0) 编辑
摘要:在目前实现的应用中,你将看到上图所示的效果,我们已经添加了一些html标签在内容中,但效果看起来还是普通的文本文字效果,为了达到预期的目标我需要设置视图的styleHtmlContent属性为true。正如你看到的,内容被切割掉不能向下滑动,为了能够达滚动效果,需要设置纵向的滚动翻屏属性,下面就是相... 阅读全文
posted @ 2012-05-08 13:46 范永强 阅读(78) 评论(0) 推荐(0) 编辑
摘要:在HomeIndexView.js中添加下面的内容:App.views.HomeIndex = Ext.extend(Ext.Panel, { html: "A Lover's Complaint" + "a poem by" + "William Shakespeare" + "From off a hill whose concave womb reworded" + "A plaintful story from a sist'ring vale... 阅读全文
posted @ 2012-05-08 13:41 范永强 阅读(148) 评论(0) 推荐(0) 编辑
摘要:在HomeIndexView.js中添加下面的内容:App.views.HomeIndex = Ext.extend(Ext.Panel, { html: "A Lover's Complaint" + "a poem by" + ... 阅读全文
posted @ 2012-05-08 13:41 范永强 阅读(134) 评论(0) 推荐(0) 编辑
摘要:现在准备测试!在基于webkit的浏览器中,打开index.html文件,你将看到信息框的显示。创建视图:我们的视图可以用扩展Sencha Touch组件的方式来创建,它们负责数据的渲染和展示,采用这种技术可以使我们的应用看起来非常酷。创建主视:Viewport当我们运行应用时,我们必须建立的第一个视图是Viewport,这个是我们的主要视图,在这个视图中我们将会进行其他试图的描绘,你可以把它想象为画布。在我们的app/views目录下,建立一个Viewport.js文件,并且在文件中添加下面的内容:App.views.Viewport = Ext.extend(Ext.Panel, { .. 阅读全文
posted @ 2012-05-08 13:39 范永强 阅读(121) 评论(0) 推荐(0) 编辑
摘要:现在准备测试!在基于webkit的浏览器中,打开index.html文件,你将看到信息框的显示。创建视图:我们的视图可以用扩展Sencha Touch组件的方式来创建,它们负责数据的渲染和展示,采用这种技术可以使我们的应用看起来非常酷。创建主视:Viewport当我们运行应用时,我们必须建立的第一个... 阅读全文
posted @ 2012-05-08 13:39 范永强 阅读(140) 评论(0) 推荐(0) 编辑
摘要:正如本文标题所述的主题我们将继续构建我们在前面已经构建的Sencha Touch MVC app,下面我们将开始进行创建一个控制器(controller)和两个视图,然后学习如何运用它们。首先让我们来添加一些目录来修改现有的工程目录结构:创建一个控制器:在app/controllers目录下创建一个HomeController.js文件,然后在里面增加下面的内容:Ext.regController('Home', { // index action index: () { Ext.Msg.alert('Test', "Home's index 阅读全文
posted @ 2012-05-08 13:35 范永强 阅读(125) 评论(0) 推荐(0) 编辑
摘要:正如本文标题所述的主题我们将继续构建我们在前面已经构建的Sencha Touch MVC app,下面我们将开始进行创建一个控制器(controller)和两个视图,然后学习如何运用它们。首先让我们来添加一些目录来修改现有的工程目录结构:创建一个控制器:在app/controllers目录下创建一个... 阅读全文
posted @ 2012-05-08 13:35 范永强 阅读(125) 评论(0) 推荐(0) 编辑
摘要:现在开始最有趣的部分-编码:首先,我们需要在index.html中增加如下内容: MvcTouch 这步很简单,我们仅仅增加了Sencha Touch所需的文件(包括js文件和css文件),同时也包括我们自己建立的app.js文件。接着让我们来写些javascrpt代码:打开app.js,让我们来添加如下内容。Ext.regApplication({ name: 'App', launch: () { alert("Yay, it's working!"); }});太好了,但这些code能做什么?!好,它们创建了我们应用。我们通过传... 阅读全文
posted @ 2012-05-08 13:34 范永强 阅读(147) 评论(0) 推荐(0) 编辑
摘要:现在开始最有趣的部分-编码:首先,我们需要在index.html中增加如下内容: MvcTouch 这步很简单,我们仅仅增加了Sencha Touch所需的文件(包括js文件和css文件),同时也包括我们自己建立的app.js文件。接着让我们来写些javascrpt代码:打开a... 阅读全文
posted @ 2012-05-08 13:34 范永强 阅读(114) 评论(0) 推荐(0) 编辑
摘要:从零开始学习Sencha Touch MVC应用之一介绍:sencha touch是一个面向对象的java框架,使用它可以使开发者完全像在iphone、andriod、黑莓等触摸设备本身上进行移动应用的构建那样方便和容易。如果你需要查找进一步的资料可以到Sencha Touch website.上进行查找。如果你还没有使用java在面向对象方式下进行过开发的经历,我想你将会发现这个框架的一些特殊性因为这个框架完全是基于oop的,如果你对OOP概念不熟悉,你可以到这里(here)来查找,如果你有一些OOP方面的知识,但你不知道如何面向对象如何运用在java程序中,你可以参考一下(Object-O 阅读全文
posted @ 2012-05-08 13:33 范永强 阅读(152) 评论(0) 推荐(0) 编辑
摘要:从零开始学习Sencha Touch MVC应用之一介绍:sencha touch是一个面向对象的java框架,使用它可以使开发者完全像在iphone、andriod、黑莓等触摸设备本身上进行移动应用的构建那样方便和容易。如果你需要查找进一步的资料可以到Sencha Touch website.上进... 阅读全文
posted @ 2012-05-08 13:33 范永强 阅读(111) 评论(0) 推荐(0) 编辑
摘要:ManagingDependencies with MVC (管理MVC依赖项)注:为方便起见,文中所有出现 Sencha Touch的地方均以 ST简写替代。There are two main places thatdependencies can be defined in a Sencha Touch 2 app - on the application itselfor inside the application classes. This guide gives some advice on how andwhere to declare dependencies in yo.. 阅读全文
posted @ 2012-05-08 13:32 范永强 阅读(183) 评论(0) 推荐(0) 编辑
摘要:ManagingDependencies with MVC (管理MVC依赖项)注:为方便起见,文中所有出现 Sencha Touch的地方均以 ST简写替代。There are two main places thatdependencies can be defined in a Sench... 阅读全文
posted @ 2012-05-08 13:32 范永强 阅读(144) 评论(0) 推荐(0) 编辑
摘要:我们将在本文中讲解一个Sencha Touch的例子。PS:模拟器访问本地server的地址是10.0.2.2:8080,而不是127.0.0.1:80801、导入touch的相关Javascript,CSS以及资源文件2、index.html Sencha Touch List Example 3、index.js 1: /** 2: * 前言: 3: * 此例子来自sencha touch的官方example 4: * 注释用语如有不当请见谅。 5: */ 6: //相信这是... 阅读全文
posted @ 2012-05-07 11:40 范永强 阅读(202) 评论(0) 推荐(0) 编辑
摘要:我们将在本文中讲解一个Sencha Touch的例子。PS:模拟器访问本地server的地址是10.0.2.2:8080,而不是127.0.0.1:80801、导入touch的相关Javascript,CSS以及资源文件2、index.html Sencha T... 阅读全文
posted @ 2012-05-07 11:40 范永强 阅读(122) 评论(0) 推荐(0) 编辑
摘要:请参考以下代码this.promtF7.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent e) { try { myStateChanged(e); } catch (Exception exc) { handUIException(exc); ... 阅读全文
posted @ 2012-05-05 18:21 范永强 阅读(235) 评论(0) 推荐(0) 编辑
摘要:Update XXX Set FXXX = ( Select ① From ... Where ②) Where ③ Update里必须包括3个逻辑部分:a.)在①里指明把字段更新为什么值,即新值.b.)在②里指明待更新表和源表需要更新行之间的对应关系c.)在③里指明待更新表有哪些记录需要更新注意:写好updte语句后需要在ksql中翻译一下,在oracle和db2下可能会多翻译出一些语句(可能包含参数?),这样会导致执行时报错:Causedexceptionmessageis:索引中丢失IN或OUT参数::3比如: UPDATE T_SD_SaleOrderEntry ... 阅读全文
posted @ 2012-05-05 18:20 范永强 阅读(342) 评论(0) 推荐(0) 编辑
摘要:在sql的前面加上“*dialect*”即可,例如:"*dialect*select fid from t_bd_currency" 阅读全文
posted @ 2012-05-05 18:18 范永强 阅读(213) 评论(0) 推荐(0) 编辑
摘要:这是早期的合并报表优化记录,内容不多,保留下来备查。一.查找源报表是否存在SELECT 1 WHERE EXISTS (SELECT * FROM T_CSL_CslReport WHERE FSourceRptID = '4583062d-010a-1000-e002-63bbc0a8ef02B712EA2C')未优化前:执行成本:0.396Reads:2139Duration:10给T_CSL_CslReport的FsourceRptID增加索引后:执行成本:0.00641Reads:43Duration:0增加索引后提高了50倍Create Index IX_Csl_Rp 阅读全文
posted @ 2012-05-05 18:15 范永强 阅读(206) 评论(0) 推荐(0) 编辑
摘要://检查必填项调用代码 KDLabelContainer[] container = new KDLabelContainer[] { contNumber, contName }; exc = STRequiredUtils.checkRequiredItem(container); if (STUtils.isNotNull(exc)) { super.handUIExceptionAndAbort(exc); } 阅读全文
posted @ 2012-05-05 18:14 范永强 阅读(231) 评论(0) 推荐(0) 编辑
摘要:现场开发测试服务器机器比较紧张,只有一台,正常的我们的开发版本是在5.4上的,但报表服务平台暂时只有6.0的,只能在6.0上先开发报表,然后再迁移到5.4上,所以要先安装一个6.0的服务器为大家用,但测试服务器上已经安装了5.4的应用服务器,6.0默认的HTTP端口和RPC端口和5.4都相同,肯定有冲突,这时就只能改部署的端口,具体步骤如下:1、部署6.0的应用,设置HTTP端口为7000(也可以改成别的值),RPC端口设置为11035(也可以改成别的值)2、进入文件系统apusic的安装目录,找到【EAS安装目录/apusic/domains/server1/config/apusic.co 阅读全文
posted @ 2012-05-05 18:09 范永强 阅读(227) 评论(0) 推荐(0) 编辑
摘要:在新的公司,由于项目很大,在本机运行会很慢,所以都是在本地开发,在远程虚拟机上运行。这样就让我痛苦了,我怎么在本地Eclipse上进行debug调试呢,但是在公司前辈的指导下让我知道了本地Eclipse一样可以远程debug代码。 首先你本地Eclipse上要有和部署在远程服务器一至的项目,否则debug的时候会出现代码行错位,难以达到debug的效果。例如:如果你本地的代码加了行,修改了,或减了一行。而远程服务器上的项目没有变化,则debug的时候会发现行号不对,或debug出来的值有偏差等。1.打开Eclipse,点击左上角的debug按钮,如图: 2.点击上图的红色区域 3.双击上图的红 阅读全文
posted @ 2012-05-04 13:49 范永强 阅读(241) 评论(0) 推荐(0) 编辑
摘要:在hibernate.cfg.xml中添加: 引用 value的值可选项如下: 引用validate 加载hibernate时,验证创建数据库表结构 create 每次加载hibernate,重新创建数据库表结构。create-drop 加载hibernate时创建,退出是删除表结构 update 加载hibernate自动更新数据库结构 Hibernate Reference Documentation 3.3.1解释如下:Automatically validate or export schema DDL to the database when the SessionFactory . 阅读全文
posted @ 2012-05-03 15:37 范永强 阅读(170) 评论(0) 推荐(0) 编辑
摘要:在hibernate.cfg.xml中添加: 引用 value的值可选项如下: 引用validate 加载hibernate时,验证创建数据库表结构 create 每次加载hibernate,重新创建数据库表结构。create-drop 加载hibernate时创建,退出是删除表结构 update... 阅读全文
posted @ 2012-05-03 15:37 范永强 阅读(190) 评论(0) 推荐(0) 编辑
摘要:做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO。意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表;要么就先进行数据库表设计,再逆向生成实体类。没有说进行完任意一方的设计后再去花时间去自己匹配建立另一方的设计。原因是:1. 1.5倍工作量,浪费时间。(时间对公司来说很重要)2. 无法保证两边映射一致。因为两边都是自己设计的,那么就需要人为保证映射关系统一,会有隐患。3. 开发、维护上都不利。因为如果任意一方因某些原因需要改用,那么经常要两边都要改,这样 阅读全文
posted @ 2012-05-03 11:23 范永强 阅读(132) 评论(0) 推荐(0) 编辑
摘要:做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO。意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表;要么就先进行数据库表设计,再逆向生成实体类。没有说进行完... 阅读全文
posted @ 2012-05-03 11:23 范永强 阅读(126) 评论(0) 推荐(0) 编辑
摘要:DWR是一个框架,简单的说就是能够在javascript直接调用java方法,而不必去写一大堆的javascript代码。它的实现是基于ajax的,可以实现无刷新效果。 网上有不少DWR的例子,但大都只是某种方法的调用,本文只在使用层面上介绍DWR,并不涉更多的技术与设计,其目的是让初学者能够很快的学会各种java方法在javascript中是如何调用的。一、dwr配置篇之web.xml 1、最小配置 dwr-invoker uk.ltd.getahead.dwr.DWRServlet dwr-invoker /dwr/* 2、当我们想看DWR自动生成的测试页(Usin... 阅读全文
posted @ 2012-05-02 15:54 范永强 阅读(287) 评论(0) 推荐(0) 编辑
摘要:一、准备使用SQL MapSQL Map架构能应用于设计不好的数据库模型甚至是设计不好的对象模型。尽管如此,您在设计数据库模型和对象模型时,还是应该遵循最佳的设计原则。这样,您会获得更好的性能和更简洁清晰的设计方案。设计最容易开始的地方是分析应用的业务逻辑。分析什么是应用的业务对象,什么是数据模型以及两者之间的关系。作为快速入门第一个例子,我们使用一个简单的Java Bean Person类。Person.javapackage examples.domain; //imports implied…. public class Person { private int id; private 阅读全文
posted @ 2012-05-02 15:33 范永强 阅读(312) 评论(0) 推荐(0) 编辑
摘要:spring所需包:——————————————————————————————dist\spring.jar //spring核心包lib\jakarta-commons\commons-logging.jar//spring日志所需包lib\log4j\log4j-1.2.15.jar //log4j日志包使用该包需要配置properties文件 具体配置参考?lib\aspectj\aspectjrt.jar //AOP编程必备包lib\aspectj\aspectjweaver.jar //AOP编程必备包以上包为spring配置基本包。lib\junit\junit-4.4.ja.. 阅读全文
posted @ 2012-05-02 15:18 范永强 阅读(216) 评论(0) 推荐(0) 编辑
摘要:1对于全部是in 类型的参数过程,采用下面的方法调用(ibatis版本是2.3)比如过程: ProcedureFlashback_Op(v_table_owner Varchar2,v_table_name Varchar2,v_FlashbackScnNumber,v_xid Varchar2,v_dbid number); 调用方法: {callTassetREC.Flashback_Op(?,?,?,?,?)} 2对于返回类型是游标 (OUT)的函数,... 阅读全文
posted @ 2012-05-02 10:37 范永强 阅读(449) 评论(0) 推荐(0) 编辑
摘要:sqlMap映射文件中(注意代码中的remapResults=”true”必须要加,因为加了以后才能适应每次变化的列名和列数):其中“selectt.* from some_table t where t.status = 1”这段sql查询结果的列数和列名都是不固定的Dao层实现类:Listtest = this.getTemplate().queryForList(”Article.getDynamicTable”, newInteger(1));得到的test是一个list的结果集,里面每一个元素都是一个Map对象,Map结构如下:{STATUS=1,NOTE=12, URL=http: 阅读全文
posted @ 2012-05-02 10:31 范永强 阅读(431) 评论(0) 推荐(0) 编辑
摘要:PO(persistant object) 持久对象在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作.VO(value object) 值对象通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已.但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递.BO(business object) 业务 阅读全文
posted @ 2012-05-02 10:10 范永强 阅读(170) 评论(0) 推荐(0) 编辑
摘要:下面是一些界面常用代码说明ListUI1)getSelectedKeValue:单行选择时,获取当前选中行的主键值,返回ID2)getSelectedIdValues:多行选择时,获取选中行的主键集合,返回List3)checkSelected:判断是否有选中行。做业务处理的时候一般先调用一下此方法4)refreshList:刷新当前序时薄5)prepareUIContext:ListUI到EditUI的值传递EditUI1)createNewData:为界面赋初始值,一般情况下,设置界面的控件默认值可以通过在这个方法中对控件对应的属性设置初始值即可。2)initListener:注册界面控件 阅读全文
posted @ 2012-05-01 22:12 范永强 阅读(858) 评论(0) 推荐(0) 编辑
摘要:(1)Administrator登录,点击人力资源管理----职务体系点击职务体系,进入如下界面基础数据管理-----职位管理点击职务管理,进入如下界面基础数据管理-----员工点击员工,进入如下界面点击批量分配,步骤如下:(2)组织范围维护(3)给组织分配权限 阅读全文
posted @ 2012-05-01 21:58 范永强 阅读(1208) 评论(0) 推荐(0) 编辑
摘要:下面是一段代码,主要是BOTP调用方法的使用,希望读者能看明白。 public void actionCreateTo_actionPerformed(ActionEvent e) throws Exception { setCanVoucher(false); checkSelected(); ArrayList idList = new ArrayList(); List entriesKey = new ArrayList(); getBillIdList(idList, entriesKey); String[] idAr... 阅读全文
posted @ 2012-05-01 21:48 范永强 阅读(486) 评论(0) 推荐(0) 编辑
摘要:唉,记得上个月刚进公司还不了解金蝶的EAS是个什么东东,帅哥给了我几个PPT和文档让我了解一下,下午就叫我做一个DEMO例子,我当时做了一个采购申请单和一个采购订单,中途遇到很多的问题,其中一个让我纠结半天,老是出错,下载整理出来,希望你帮到一些初学者:1、 新建关系实体2、 元数据表中新增一个字段 varchar 44 的3、在实体属性列表添加连接属性,字段关系连接到刚刚新建的关系实体,字段选择刚添加的字段4.发布关系实体,如果之前有在数据库新建表的,现在要删除重建,这样刚刚添加的字段才生效。 阅读全文
posted @ 2012-05-01 21:45 范永强 阅读(174) 评论(0) 推荐(0) 编辑
摘要:如何扩展标准产品的功能:1. 服务端controllerbean扩展方式:服务端需要进行标准产品的扩展需要修改两处内容:在实体上增加扩展属性并重新发布、新增扩展类并从controlbean实现类继承。a. 修改实体或facade需要在实体或facade的元数据中手工添加如下部分内容,添加完成后需要发布此实体元数据 com.kingdee.eas.scm.sm.pur.app.PurOrderControllerBeanEx是你的扩展类的全路径名称,名称可以任意如果是需要对实体进行扩展,还可以... 阅读全文
posted @ 2012-05-01 21:36 范永强 阅读(344) 评论(0) 推荐(0) 编辑
摘要:如何扩展标准产品的功能:1. 服务端controllerbean扩展方式:服务端需要进行标准产品的扩展需要修改两处内容:在实体上增加扩展属性并重新发布、新增扩展类并从controlbean实现类继承。a. 修改实体或facade需要在实体或facade的元数据中手工添加如下部分内容,添加完成后需要发... 阅读全文
posted @ 2012-05-01 21:36 范永强 阅读(235) 评论(0) 推荐(0) 编辑
摘要:protected void verifyInput(ActionEvent arg0) throws Exception { super.verifyInput(arg0); //非空校验 HashMap verifyNullMap=new HashMap(); verifyNullMap.put("库存组织", prmtStorageOrgUnit); verifyNullMap.put("工程类别", prmtProjectType); verifyNullMap.put("设计量", txtDesignQty);... 阅读全文
posted @ 2012-05-01 21:31 范永强 阅读(176) 评论(0) 推荐(0) 编辑
摘要:protected void verifyInput(ActionEvent arg0) throws Exception { super.verifyInput(arg0); //非空校验 HashMap verifyNullMap=new HashMap()... 阅读全文
posted @ 2012-05-01 21:31 范永强 阅读(199) 评论(0) 推荐(0) 编辑
摘要:大家可以参考一下下面这段代码:protected void setAutoNumberByOrg(String orgType) { if (editData == null ||getNumberCom()==null) return; if (editData.getNumber() == null) { try { String companyID = null; if(!com.kingdee.util.StringUtils.isEmpty(orgType) && !"NONE".equalsIgnoreCase(orgT... 阅读全文
posted @ 2012-05-01 21:30 范永强 阅读(526) 评论(0) 推荐(0) 编辑
摘要:大家可以参考一下下面这段代码:protected void setAutoNumberByOrg(String orgType) { if (editData == null ||getNumberCom()==null) return; if (editData.getNumber() ... 阅读全文
posted @ 2012-05-01 21:30 范永强 阅读(196) 评论(0) 推荐(0) 编辑
摘要:一、怎么样刷新mv可以用来同步数据,一般采用主键同步或者是ROWID同步,我们这里只讨论主键同步(Rowid同步其实是为Rowid在目标表上创建了一个隐含索引,原理跟主键同步一样)。mv的主要原理就是记录更改的日志,并同步到远程。一个简单的例子:SQL>create materialized view log on table_name; SQL>create materialized view table_name [on prebuilt table] refresh fast as select * from table_name@lnk_db_master; SQL> 阅读全文
posted @ 2012-05-01 21:26 范永强 阅读(633) 评论(0) 推荐(0) 编辑
摘要:getBizInterface(); //返回实体远程实例对象getBizController(); //返回实体ControllerBean对象DbUtil //执行SQL语句的类UIRuleUtil //UI数据处理工具StringUtils //String工具ContextUtil //服务器端获取环境SysContext //获取客户端系统环境 SysUtil SysUtil.abort()KDTableUtil //表格控件管理类SelectorItemCollection //查询字段集合FilterInfo; //过滤相当于W... 阅读全文
posted @ 2012-05-01 21:20 范永强 阅读(617) 评论(0) 推荐(0) 编辑
摘要:getBizInterface(); //返回实体远程实例对象getBizController(); //返回实体ControllerBean对象DbUtil //执行SQL语句的类UIRuleUtil //UI数据处理工具StringUtils //String工具ContextUtil ... 阅读全文
posted @ 2012-05-01 21:20 范永强 阅读(250) 评论(0) 推荐(0) 编辑
摘要:1如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2).int i = Integer.valueOf(my_str).intValue(); 2 如何将整数 int 转换成字串 String ? A. 有叁种方法: 1.) String s = String.valueOf(i); 2.)String s = Integer.toString(i); 3.)String s = "" 阅读全文
posted @ 2012-05-01 21:17 范永强 阅读(124) 评论(0) 推荐(0) 编辑
摘要:EditUI函数调用顺序:EdittUI 1 UIFactory.createUIFactory(UIFactoryName.MODEL).create(getEditUIName(), uiContext, null,OprtState.VIEW); 1.1传递UIContext() 1.2设置 setOprtState(). 2.EditUI() a.Super。构造函数 b.jbInit()调用registerBindings(); c. initLayout调用this.initUIContentLayout(); this.initUITool... 阅读全文
posted @ 2012-05-01 21:08 范永强 阅读(858) 评论(0) 推荐(0) 编辑
摘要:EditUI函数调用顺序:EdittUI 1 UIFactory.createUIFactory(UIFactoryName.MODEL).create(getEditUIName(), uiContext, null,OprtState.VIEW); 1.1传递UIContext() 1.2... 阅读全文
posted @ 2012-05-01 21:08 范永强 阅读(179) 评论(0) 推荐(0) 编辑
摘要:本人刚开始从事金蝶EAS开发,对于这个也是刚刚解除,下面是一些学习整理,EditUI中的代码public class MyBillEditUI extends AbstractMyBillEditUI{ public MyBillEditUI() throws Exception { super(); } //把数据对象加载到当前UI界面相应的控件 public void loadFields() { super.loadFields(); } //同步当前UI业务数据到数据对象 public void stor... 阅读全文
posted @ 2012-05-01 21:02 范永强 阅读(1185) 评论(0) 推荐(0) 编辑
摘要:本人刚开始从事金蝶EAS开发,对于这个也是刚刚解除,下面是一些学习整理,EditUI中的代码public class MyBillEditUI extends AbstractMyBillEditUI{ public MyBillEditUI() throws Exception { ... 阅读全文
posted @ 2012-05-01 21:02 范永强 阅读(1045) 评论(0) 推荐(0) 编辑
摘要:一、oracle物化视图基本概念物化视图首先需要创建物化视图日志,oracle依据用户创建的物化视图日志来创建物化视图日志表,物化视图日志表的名称为mlog$_后面跟基表的名称,如果表名的长度超过20位,则只取前20位,当截短后出现名称重复时,oracle会自动在物化视图日志名称后面加上数字作为序号。创建物化视图日志在建立时有多种选项:可以指定为rowid、primary key和object id几种类型,同时还可以指定sequence或明确指定列名。上面这些情况产生的物化视图日志的结构都不相同。任何物化视图都会包括的列: snaptime$$: 用于表示刷新时间。 dml... 阅读全文
posted @ 2012-05-01 20:52 范永强 阅读(260) 评论(0) 推荐(0) 编辑