/div> js: //日期格式参考extjs api文档的Date类型, 参考下面的FormPanel var md = new Ext.form.DateField({ fieldLabel: 'Register Date', name: 'register_date', width: 190, allowBlank: false, // 设置非空, altFormats: 'Y-m-d H:i:s', format: 'Y-m-d H:i:s', blankText: 'rrr ...', //如为空,后面会出现一个I的图标,点击后出现的alt内容 emptyText: 'Select a date ...' //如为空,直接在input中出现的text,有红色边框 }); md.render('dp'); // 在div中显示 // 这是是用DateField做例子,TimeField 也是差不多的. 再看看Ext.Date的格式说明 d 01 to 31 D Mon to Sun j 1 to 31 l Sunday to Saturday N 1 (for Monday) through 7 (for Sunday) S st, nd, rd or th. Works well with j w 0 (for Sunday) to 6 (for Saturday) z 0 to 364 (365 in leap years) W 01 to 53 F January to December m 01 to 12 M Jan to Dec n 1 to 12 t 28 to 31 L 1 if it is a leap year, 0 otherwise. o Examples: 1998 or 2004 Y Examples: 1999 or 2003 y Examples: 99 or 03 a am or pm A AM or PM g 1 to 12 G 0 to 23 h 01 to 12 H 00 to 23 i 00 to 59 s 00 to 59 u 001 to 999 O Example: +1030 P Example: -08:00 T Examples: EST, MDT, PDT ... Z -43200 to 50400 c 2007-04-17T15:19:21+08:00 U 1193432466 or -2138434463 ExtJs学习-Ext.dd.DD建立拖放对象 DragDrop DDTarget DragSource 拖放 Ext.dd.DD extjs 建立拖放对象 html:
js: Ext.onReady(function(){ var dp = new Ext.dd.DD( Ext.get('dp'), 'g1' ); // 这样就可以使div变成可拖放的对象了 } Ext.get('dp'), 返回的是html中的接近于document.getElementById('dp') , 'g1' 与分组, Class Ext.dd.DDPackage: Ext.dd Defined In: DDCore.js Class: DD Subclasses: DDProxy Extends: DragDrop A DragDrop implementation where the linked element follows the mouse cursor during a drag. DD( String id, String sGroup, object config ); 如何在windows下搭建eclipse+cdt+mingw的方法 搭建eclipse+cdt+mingw的方法 1.下载eclipse,我下的是3.2.1 (当然还要有jdk才能运行eclipse) 2.下载cdt 3.1.2 仅cdt 3.1适用于eclipse 3.2 http://eclipse.org org.eclipse.cdt.sdk-3.1.2-win32.x86.zip 3.下载minGW http://sourceforge.net/projects/mingw/ 下载这个比较麻烦,因为是先下载一个autoinstall.exe下再自动下载相应的文件安装,下载又慢,不利于脱机状态。以下是我下载完后的相关文件,你可以手动下载。 MinGW-5.1.3.exe // 这个用于安装和update的, mingw-runtime-3.14.tar.gz mingw32-make-3.81-2.tar.gz binutils-2.17.50-20060824-1.tar.gz w32api-3.11.tar.gz gcc-core-3.4.5-20060117-1.tar.gz gcc-g++-3.4.5-20060117-1.tar.gz gcc-objc-3.4.5-20060117-1.tar.gz gcc-ada-3.4.5-20060117-1.tar.gz gcc-g77-3.4.5-20060117-1.tar.gz 4. 开始安装,安装jdk和eclipse不用说 5. 安装 CDT, 解压下载到的org.eclipse.cdt.sdk-3.1.2-win32.x86.zip到一个文件夹, 运行eclipse, 在help菜单里以文件夹方式添加plug, 把cdt安装进去。 6 . 安装MinGW, 确保minGW的相关文件在同一个目录下,然后又点MinGW-5.1.3.exe, 他会提示下载,不用理会,没就会下载,有的就不用重新的。除非update。 7. 安装完毕后,要在eclipse中设置MinGW的环境变量.先做第8步 8. 新建new project-> managed make c++ project, 这个就可以不用写makefile了。新建完毕后可以new source dir 添加源码文件夹。 9. 上面第7点的配置MinGW环境变量,不然不能编译c/c++和生成exe。 Project -> properties -> C/C++ Build 这里,右边可以看到很多tab, 看到Environment这个Tab,添加环境变量如下: C_INCLUDE_PATH=E: /MinGW/include // 这个选择replace的方法 LIBRARY_PATH=E: /MinGW/lib // 同上 PATH= E:/MinGW/bin // 这个要选择append的方式,因为path是win操作系统特有的,不能replace 同时,要修改tab 名为”Build Setting” 中的Build Command 中的make –k 改成mingw32-make.exe –k, 因为 make是gcc的,mingw32-make 才是 minGW的 10. 关闭project的 build automaching , 环境搭建完毕. SQLHelper,一个单态的,没事务冲突的类,基于SQLFilter的数据库常用操作功能 pdo bindParam bindColumn bindValue fetch fetchAll fetchColumn 下面这个类要用到sql filter那个类,请参考 SQLFilter 这篇文章, sql filter是用于拼写sql的,但不是 简单的拼写,是以对象方式,自动生成pdo statement的占位符和给 statement填充参数值. 以下的类是使用了单态模式, 只要系统的db操作都是用下面这个类的话,就不怕事务的不统一了, 需然这样 做会使事务与逻辑放在同一个地方,但是可以实现java中的openSessionInViewer同样的功能. openSessionInViewer是在视图层就开启db链接,与mvc有冲突, 下面这个SQLHelper就解决了这个问题. 这个SQLHelper是基于小东的SQLHelper类的改写, 在它那个类的基础上改写后的功能. require_once( dirname(__FILE__) . '/SQLFilter.php' ); /** $helper = SQLHelper::getInstance(); $helper = SQLHelper::getInstance(); $helper = SQLHelper::getInstance(); 如果这3句在一个http线程中顺序运行, helper指向的都是同一instance, instance在一个http线程线路束后自动移离内存,变为null,所以可以实现 在一个http线程中实现单态模式 因为在一个http线程中,使用单态, __destruct只会执行一次, 所以可以在 __construct中开始事务,在__destruct中处理事务的提交和回滚 **/ class SQLHelper { private static $instance = NULL; const DB_SERVER = 'localhost'; const DB_DATABASE = 'myfilm'; const DB_USERNAME = 'root'; const DB_PASSWORD = ''; private $conn; public static function getInstance() { //var_export( self::$instance ); if( is_null( self::$instance ) ) self::$instance = new SQLHelper(); return self::$instance; } public function SQLHelper() { try { $this->conn = new PDO( "mysql:host=" . self::DB_SERVER . ";dbname=" . self::DB_DATABASE, self::DB_USERNAME, self::DB_PASSWORD, array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';" ) ); } catch(PDOException $ex){ die( "Error: " .$ex->getMessage() . "
" ); } $this->beginTransaction(); } public function __destruct() { $this->doTransaction(); $this->conn = NULL; } public function beginTransaction() { return $this->conn->beginTransaction(); } public function doTransaction() { try { $this->conn->commit(); } catch (PDOException $ex) { $this->conn->rollBack(); } } public function query( $sql, $filter_list = NULL, $limit_m = NULL, $limit_n = NULL, $order = '' ) { if( !is_null( $filter_list ) ) $sql = SQLFilter::get_holders( $filter_list, $sql ); if( !empty( $order ) ) $sql .= ' order by ' . $order; if( is_int( $limit_m ) && is_int( $limit_n ) ) $sql .= ' LIMIT $limit_m, $limit_n'; $stmt = SQLFilter::fill_statement( $this->conn->prepare( $sql ), $filter_list ); $stmt->execute(); $rs = $stmt->fetch(PDO::FETCH_BOTH); return $rs; } public function update( $sql, $filter_list = NULL ) { if( !is_null( $filter_list ) ) $sql = SQLFilter::get_holders( $filter_list, $sql ); $stmt = SQLFilter::fill_statement( $this->conn->prepare( $sql ), $filter_list ); $stmt->execute(); return $stmt->rowCount(); } public function query_var( $sql, $filter_list = NULL ) { $rs = $this->query( $sql, $filter_list ); return $rs[0]; } public function query_list( $sql, $filter_list = NULL, $number = NULL, $rowcount = NULL, $order = NULL ) { $rs = NULL; if( is_int( $number ) && is_int( $rowcount ) ) $rs = $this->query( $sql, $filter_list, ($number-1) * $rowcount, $rowcount, $order ); $rs = $this->query( $sql, $filter_list, NULL, NULL, $order ); return $rs; } } 相关文章: php中使用sqlcondition,把sql的拼写变成对象,基于pdo的占位符使用 php中使用sqlcondition,把sql的拼写变成对象,基于pdo的占位符使用 pdo bindParam bindColumn bindValue fetch fetchAll fetchColumn 下面这个类,是用于php的sql condition, 可以减少在php开发中的sql拼写, 基于pdo的占位符用法, 动态根据condition的数量生成相应的占位符,自动拼到sql中,不支持 in (?) 这种sql, 一般的where 语句的条件都支持! 在看以下这个类的同时,最好同时看一下我的下一篇文章: SQLHelper /* $arr = SQLFilter::push_filter( new SQLFilter('and', 'cat_ID', '=', 100), $arr ); $arr = SQLFilter::push_filter( new SQLFilter('and', 'category_count', '=', 0), $arr ); $conn = new PDO( ... ); $sql = SQLFilter::get_holders($arr, "SELECT * FROM wp_categories where 1=1"); $stmt = SQLFilter::fill_statement( $conn->prepare( $sql ), $arr ); $stmt->execute(); */ class SQLFilter { private $column; private $operation; private $value; private $logicals; private $type; const PLACEHOLDER = '?'; const TYPE_UNDEFINE = 0; const TYPE_INT = PDO::PARAM_INT; const TYPE_STR = PDO::PARAM_STR; const TYPE_BOOL = PDO::PARAM_BOOL; const TYPE_LOB = PDO::PARAM_LOB; const TYPE_STMT = PDO::PARAM_STMT; const TYPE_INPUT_OUTPUT = PDO::PARAM_INPUT_OUTPUT; const TYPE_NULL = PDO::PARAM_NULL; public function SQLFilter( $logicals, $column, $operation, $value, $type = 0) { $this->logicals = $logicals; $this->column = $column; $this->operation = $operation; $this->value = $value; $this->type = $type; // 指写为相应的类型,用于statement的填充 } public static function push_filter( $sqlfilter, $filter_list = NULL ) { // 因为sql condition是可能有多个的, 用链表或数组记起来. if( is_null( $filter_list ) || !is_array( $filter_list ) ) $filter_list = array(); array_push ( $filter_list, $sqlfilter ); return $filter_list; } public static function get_holders( $filter_list, $sql = '' ) { // 这里自动生成占位符的sql condition, $condition = ''; foreach ( $filter_list as $filter ) { $condition .= ' ' . $filter->logicals; $condition .= ' ' . $filter->column; $condition .= ' ' . $filter->operation; $condition .= ' ' . self::PLACEHOLDER; $condition .= ' '; } return $sql . $condition; } public static function fill_statement( $pdo_statement, $filter_list ) { // 这里给pdo的statement的占位符自动填充参数值 // 如果指定了参数的类型, 以指定形式添加参数,否则自动处理 $idx = 0; foreach ( $filter_list as $filter ) { if( intval($filter->type) == self::TYPE_UNDEFINE ) $pdo_statement->bindValue( ++ $idx, $filter->value ); else $pdo_statement->bindValue( ++ $idx, $filter->value, $filter->type ); } return $pdo_statement; } public static function get_parameters( $filter_list ) { // 将参数值以对象数组形式返回,没什么用, $arr = array(); foreach ( $filter_list as $filter ) { array_push ( $arr, $filter->value ); } return $arr; } }