置頂隨筆

          FCKEditor2.4.2版本中并不支持列的合并,下面是原代碼:
           1FCKTableHandler.MergeCells = function()
           2{
           3    // Get all selected cells.
           4    var aCells = FCKTableHandler.GetSelectedCells() ;
           5
           6    // At least 2 cells must be selected.
           7    if ( aCells.length < 2 )
           8        return ;
           9
          10    // The merge can occour only if the selected cells are from the same row.
          11    if ( aCells[0].parentNode != aCells[aCells.length-1].parentNode )
          12        return ;
          13
          14    // Calculate the new colSpan for the first cell.
          15    var iColSpan = isNaN( aCells[0].colSpan ) ? 1 : aCells[0].colSpan ;
          16
          17    var sHtml = '' ;
          18    var oCellsContents = FCK.EditorDocument.createDocumentFragment() ;
          19
          20    for ( var i = aCells.length - 1 ; i >= 0 ; i-- )
          21    {
          22        var eCell = aCells[i] ;
          23
          24        // Move its contents to the document fragment.
          25        for ( var c = eCell.childNodes.length - 1 ; c >= 0 ; c-- )
          26        {
          27            var eChild = eCell.removeChild( eCell.childNodes[c] ) ;
          28
          29            if ( ( eChild.hasAttribute && eChild.hasAttribute('_moz_editor_bogus_node') ) || ( eChild.getAttribute && eChild.getAttribute( 'type', 2 ) == '_moz' ) )
          30                continue ;
          31
          32                oCellsContents.insertBefore( eChild, oCellsContents.firstChild ) ;
          33        }

          34
          35        if ( i > 0 )
          36        {
          37            // Accumulate the colspan of the cell.
          38            iColSpan += isNaN( eCell.colSpan ) ? 1 : eCell.colSpan ;
          39
          40            // Delete the cell.
          41            FCKTableHandler.DeleteCell( eCell ) ;
          42        }

          43    }

          44
          45    // Set the innerHTML of the remaining cell (the first one).
          46    aCells[0].colSpan = iColSpan ;
          47
          48    if ( FCKBrowserInfo.IsGecko && oCellsContents.childNodes.length == 0 )
          49        aCells[0].innerHTML = GECKO_BOGUS ;
          50    else
          51        aCells[0].appendChild( oCellsContents ) ;
          52}
          第10行代碼對列合并做了限制,下面是修改的代碼:
           1FCKTableHandler.MergeCells = function()
           2{
           3    // Get all selected cells.
           4    var aCells = FCKTableHandler.GetSelectedCells() ;
           5
           6    // At least 2 cells must be selected.
           7    if ( aCells.length < 2 )
           8        return ;
           9
          10    // The merge can occour only if the selected cells are from the same row.
          11    //if ( aCells[0].parentNode != aCells[aCells.length-1].parentNode ){
          12    //    alert("xx");
          13    //    return ;
          14    //}
          15    
          16    //*********************************************************************
          17    //在IE下合并單元格修改,主要針對上下單元格不能合并的問題。
          18    //姜海龍
          19    var iLen = aCells.length;
          20    var iStartCol = aCells[0].cellIndex ;
          21    var iStartRow = aCells[0].parentElement.rowIndex ;
          22    
          23    var iEndCol = aCells[iLen-1].cellIndex ;
          24    var iEndRow = aCells[iLen-1].parentElement.rowIndex ;
          25    
          26    var eCells = new Array();
          27    var j = 0;
          28    
          29    for(var i = 0; i < iLen; i++){
          30        if(aCells[i].cellIndex >= iStartCol && aCells[i].cellIndex <= iEndCol){
          31            eCells[j] = aCells[i];
          32            j++;
          33        }

          34    }

          35
          36    aCells[0].colSpan = iEndCol - iStartCol + 1;
          37    aCells[0].rowSpan = iEndRow - iStartRow + 1;
          38
          39    for (var i = 1; i < j; i++){
          40            eCells[i].parentElement.removeChild(eCells[i]);
          41    }

          42    
          43    //alert(aCells[0].rowSpan);
          44    //alert(aCells[0].parentElement.parentElement.innerHTML);
          45    //*********************************************************************
          46
          47
          48}
          該代碼未經全面測試

          posted @ 2007-08-09 18:47 姜海龍 閱讀(882) | 評論 (0)編輯 收藏


          2008年1月23日

          歡迎光臨本人小站http://www.spartasoft.cn

          posted @ 2008-01-23 18:19 姜海龍 閱讀(205) | 評論 (0)編輯 收藏


          2008年1月22日

          我的系統結構是ssh,開發過程中一直使用sqlserver數據庫,后面換了oracle數據庫,本來對于word文檔我是用MSSQL的image字段類型,映射成binary,在程序中利用byte[]存取。但是到了oracle換成blob字段類型之后,可以正常存,但是取的時候一直是86字節長度,我換了oracle的好幾個驅動,都是不行,不知道是為什么。
          不是說oracle10.2的驅動已經可以將blob映射成binary了嗎?

          posted @ 2008-01-22 16:56 姜海龍 閱讀(963) | 評論 (3)編輯 收藏


          2007年8月9日

          FCKEditor2.4.2版本中并不支持列的合并,下面是原代碼:
           1FCKTableHandler.MergeCells = function()
           2{
           3    // Get all selected cells.
           4    var aCells = FCKTableHandler.GetSelectedCells() ;
           5
           6    // At least 2 cells must be selected.
           7    if ( aCells.length < 2 )
           8        return ;
           9
          10    // The merge can occour only if the selected cells are from the same row.
          11    if ( aCells[0].parentNode != aCells[aCells.length-1].parentNode )
          12        return ;
          13
          14    // Calculate the new colSpan for the first cell.
          15    var iColSpan = isNaN( aCells[0].colSpan ) ? 1 : aCells[0].colSpan ;
          16
          17    var sHtml = '' ;
          18    var oCellsContents = FCK.EditorDocument.createDocumentFragment() ;
          19
          20    for ( var i = aCells.length - 1 ; i >= 0 ; i-- )
          21    {
          22        var eCell = aCells[i] ;
          23
          24        // Move its contents to the document fragment.
          25        for ( var c = eCell.childNodes.length - 1 ; c >= 0 ; c-- )
          26        {
          27            var eChild = eCell.removeChild( eCell.childNodes[c] ) ;
          28
          29            if ( ( eChild.hasAttribute && eChild.hasAttribute('_moz_editor_bogus_node') ) || ( eChild.getAttribute && eChild.getAttribute( 'type', 2 ) == '_moz' ) )
          30                continue ;
          31
          32                oCellsContents.insertBefore( eChild, oCellsContents.firstChild ) ;
          33        }

          34
          35        if ( i > 0 )
          36        {
          37            // Accumulate the colspan of the cell.
          38            iColSpan += isNaN( eCell.colSpan ) ? 1 : eCell.colSpan ;
          39
          40            // Delete the cell.
          41            FCKTableHandler.DeleteCell( eCell ) ;
          42        }

          43    }

          44
          45    // Set the innerHTML of the remaining cell (the first one).
          46    aCells[0].colSpan = iColSpan ;
          47
          48    if ( FCKBrowserInfo.IsGecko && oCellsContents.childNodes.length == 0 )
          49        aCells[0].innerHTML = GECKO_BOGUS ;
          50    else
          51        aCells[0].appendChild( oCellsContents ) ;
          52}
          第10行代碼對列合并做了限制,下面是修改的代碼:
           1FCKTableHandler.MergeCells = function()
           2{
           3    // Get all selected cells.
           4    var aCells = FCKTableHandler.GetSelectedCells() ;
           5
           6    // At least 2 cells must be selected.
           7    if ( aCells.length < 2 )
           8        return ;
           9
          10    // The merge can occour only if the selected cells are from the same row.
          11    //if ( aCells[0].parentNode != aCells[aCells.length-1].parentNode ){
          12    //    alert("xx");
          13    //    return ;
          14    //}
          15    
          16    //*********************************************************************
          17    //在IE下合并單元格修改,主要針對上下單元格不能合并的問題。
          18    //姜海龍
          19    var iLen = aCells.length;
          20    var iStartCol = aCells[0].cellIndex ;
          21    var iStartRow = aCells[0].parentElement.rowIndex ;
          22    
          23    var iEndCol = aCells[iLen-1].cellIndex ;
          24    var iEndRow = aCells[iLen-1].parentElement.rowIndex ;
          25    
          26    var eCells = new Array();
          27    var j = 0;
          28    
          29    for(var i = 0; i < iLen; i++){
          30        if(aCells[i].cellIndex >= iStartCol && aCells[i].cellIndex <= iEndCol){
          31            eCells[j] = aCells[i];
          32            j++;
          33        }

          34    }

          35
          36    aCells[0].colSpan = iEndCol - iStartCol + 1;
          37    aCells[0].rowSpan = iEndRow - iStartRow + 1;
          38
          39    for (var i = 1; i < j; i++){
          40            eCells[i].parentElement.removeChild(eCells[i]);
          41    }

          42    
          43    //alert(aCells[0].rowSpan);
          44    //alert(aCells[0].parentElement.parentElement.innerHTML);
          45    //*********************************************************************
          46
          47
          48}
          該代碼未經全面測試

          posted @ 2007-08-09 18:47 姜海龍 閱讀(882) | 評論 (0)編輯 收藏


          2007年7月3日

           

          MyEclipse 快捷鍵
          (1)Ctrl+M切換窗口的大小
          (2)Ctrl+Q跳到最后一次的編輯處
          (3)F2當鼠標放在一個標記處出現Tooltip時候按F2則把鼠標移開時Tooltip還會顯示即Show Tooltip Description。
                    F3跳到聲明或定義的地方。
                    F5單步調試進入函數內部。
                    F6單步調試不進入函數內部,如果裝了金山詞霸2006則要把“取詞開關”的快捷鍵改成其他的。
                    F7由函數內部返回到調用處。
                    F8一直執行到下一個斷點。
          (4)Ctrl+Pg~對于XML文件是切換代碼和圖示窗口
          (5)Ctrl+Alt+I看Java文件中變量的相關信息
          (6)Ctrl+PgUp對于代碼窗口是打開“Show List”下拉框,在此下拉框里顯示有最近曾打開的文件
          (7)Ctrl+/ 在代碼窗口中是這種//~注釋。
                    Ctrl+Shift+/ 在代碼窗口中是這種/*~*/注釋,在JSP文件窗口中是<!--~-->。
          (8)Alt+Shift+O(或點擊工具欄中的Toggle Mark Occurrences按鈕) 當點擊某個標記時可使本頁面中其他地方的此標記黃色凸顯,并且窗口的右邊框會出現白色的方塊,點擊此方塊會跳到此標記處。
          (9)右擊窗口的左邊框即加斷點的地方選Show Line Numbers可以加行號。
          (10)Ctrl+I格式化激活的元素Format Active Elements。
                      Ctrl+Shift+F格式化文件Format Document。
          (11)Ctrl+S保存當前文件。
                      Ctrl+Shift+S保存所有未保存的文件。
          (12)Ctrl+Shift+M(先把光標放在需導入包的類名上) 作用是加Import語句。
                      Ctrl+Shift+O作用是缺少的Import語句被加入,多余的Import語句被刪除。
          (13)Ctrl+Space提示鍵入內容即Content Assist,此時要將輸入法中Chinese(Simplified)IME-Ime/Nonlme Toggle的快捷鍵(用于切換英文和其他文字)改成其他的。
                      Ctrl+Shift+Space提示信息即Context Information。
          (14)雙擊窗口的左邊框可以加斷點。
          (15)Ctrl+D刪除當前行。


          ---待續


          [以下為轉載]
          Eclipse快捷鍵大全
          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)

          posted @ 2007-07-03 18:07 姜海龍 閱讀(804) | 評論 (1)編輯 收藏


          2007年6月1日

               摘要:   閱讀全文

          posted @ 2007-06-01 16:30 姜海龍 閱讀(2360) | 評論 (0)編輯 收藏


          2007年5月24日

          我有7個表
          1、user存儲用戶信息
          2、role存儲角色信息
          3、menu存儲菜單信息,其中每個菜單對應一個function信息
          4、function存儲功能模塊信息
          5、o_func_user存儲用戶和功能關聯關系
          6、o_func_role存儲角色和功能關聯關系
          7、o_role_user存儲角色和用戶關聯關系
          我要根據用戶ID取得所擁有的菜單權限,當然寫SQL語句很簡單,但是對HSQL不是很熟悉,請問如何用HSQL取得所擁有的菜單信息?

          posted @ 2007-05-24 20:07 姜海龍 閱讀(1126) | 評論 (2)編輯 收藏


          2007年5月16日

          http://www.javaref.cn/
          有很多代碼我們可以參考,兩個字方便

          posted @ 2007-05-16 15:06 姜海龍| 編輯 收藏


          2007年5月10日

               摘要: Appfuse和Sql Server整合  閱讀全文

          posted @ 2007-05-10 09:58 姜海龍 閱讀(901) | 評論 (0)編輯 收藏


          2007年4月26日

               摘要: Struts Hibernate Spring  閱讀全文

          posted @ 2007-04-26 10:30 姜海龍 閱讀(5335) | 評論 (13)編輯 收藏


          僅列出標題  

          posts - 9, comments - 19, trackbacks - 0, articles - 1

          Copyright © 姜海龍

          主站蜘蛛池模板: 湖南省| 巴彦淖尔市| 泰来县| 乌审旗| 冷水江市| 双辽市| 信丰县| 休宁县| 织金县| 墨江| 静海县| 洮南市| 疏勒县| 丽江市| 绍兴县| 左云县| 开远市| 洮南市| 白银市| 翁源县| 凤台县| 灵武市| 兴业县| 塔城市| 铜陵市| 湘乡市| 绿春县| 庆阳市| 徐汇区| 卫辉市| 潮州市| 璧山县| 夹江县| 平舆县| 台东县| 广河县| 会同县| 禹州市| 延庆县| 神农架林区| 台江县|