2015年5月28日 星期四

for Extjs4 ,combobox彈出視窗如何比他未下拉時寬一點?

Extjs4的combobox是非常好用的contorl,除了可以用Tpl設定資料列出的樣式之外
還可以設定下拉選項彈出時比收起來時寬些:
托Extjs4之福,只要設定一下就可以了:
============================================
                                                {
                                                    xtype: 'combobox',
                                                    margin: '0 0 0 10',
                                                    width: 150,
                                                    fieldLabel: '分配機號',
                                                    labelSeparator: '              ',
                                                    labelWidth: 65,
                                                    store:storePos,
                                                     ...
                                                     ...
                                                     ...
                                                    matchFieldWidth: false,
                                                    queryMode: 'local',
                                                    listConfig: {
                                                        width:200,
                                                        getInnerTpl: function () {
                                                            return '<h4>{pos_code}</h4>{pos_name}'
                                                        }
                                                    }
                                                }
====================================================
很簡單吧?
加油了!!

2015年5月21日 星期四

for Extjs4 :如果只有store,而無定義model類別時,如何產生model物件?

有時combobx的store只是很暫時的東西.
懶的為這個暫時性的store定義model是人之常情
可是其中的選項是從server來的string array,而不是memory的話....

=================Ex====================
                                {
                                    xtype: 'combobox',
                                    name: 'xxx',
                                    queryMode: 'local',
                                    valueField: 'itemName',
                                    displayField: 'itemName',
                                    store: new Ext.data.ArrayStore({
                                        fields: ['itemName'],
                                        data: []
                                    }),
                                   ...
                                   ...
                                }
           //以下有個函數
      ,setSelectItems:(strArr){
               //這時如何是好?
      }
==========================================
事實上,只要有了store,也知道欄位(fields),就可以產生model了!!
================如下======================
    var rec = this.getForm().findField('xxx').getStore().model.create(
                  { itemName: stringOfThisItem }
                  ); 
                  //itemName 是上例的store的唯一欄位名稱
                     
                 this.getForm().findField('xxx').getStore().add(rec);
=====================================
以上,
加油了!!





2015年5月15日 星期五

in C#,16進制字串如何轉成unicode字元呢?

工具函數:
==================================================
public static byte[] StringToByteArray(String hex) {
            int NumberChars = hex.Length;
            byte[] bytes = new byte[NumberChars / 2];
            for(int i = 0; i < NumberChars; i += 2)
                bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
            return bytes;
        }
===================================================
但是轉出來會有Hi byte & Low byte順序問題,所以別忘了要反轉一下

                byte[] cbyte = StringToByteArray("5F5E");
                Array.Reverse(cbyte);
                var uniChar = Encoding.Unicode.GetString(cbyte);
來源在此

加油了

2015年5月13日 星期三

for EXTJS4 --To Scroll GRID by dragging

可以參考iscroll
ref : http://www.rahulsingla.com/blog/2011/11/extjs-and-iscroll-scrolling-ext-containers-on-touch-devices-ipad-iphone-etc-using-iscro
ref : http://cubiq.org/iscroll-4

如果不想這樣麻煩,參考以下的code.
solution from here

=============================================
                            listeners: {
                                itemmousedown: function (view, rec, item, idx, event) {

                                    var startX = event.getX();
                                    var startY = event.getY();

                                    var grid = view.up('gridpanel');
                                    var div = grid.getEl();
                                    var body = Ext.getBody();

                                    body.setStyle('cursor', '-moz-grabbing'); //doesn't work in 4.0.7+

                                    div.on('mousemove', function (e) {
                                        x = e.getX(), y = e.getY()
                                        grid.scrollByDeltaX(startX - x);
                                        grid.scrollByDeltaY(startY - y);
                                        startX = x
                                        startY = y
                                    });

                                    body.on('mouseup', function (e) {
                                        body.setStyle('cursor', 'default'); //doesn't work in 4.0.7+
                                        div.removeAllListeners();
                                        body.removeAllListeners();
                                    });

                                    body.on('mouseleave', function (e, tgt) {
                                        body.setStyle('cursor', 'default'); //doesn't work in 4.0.7+
                                        div.removeAllListeners();
                                        body.removeAllListeners();
                                    });
                                }
                            }
=======================================
 加油了!!

2015年4月25日 星期六

伺服馬達的舵盤如何鎖上樂高的齒輪?

這需要一點點以退為進的手段,
先兩支螺絲反著鎖,
對鎖確定完成之後,洞距就會被拉開了
如此,再把反相的螺絲卸下,正向鎖回去就可以了
這樣,你可以享用你的伺服與樂高之間的合作了,加油吧!!






2015年4月14日 星期二

extjs4 --model中,某欄的值是從其他欄位加工而來

這招,就要用到「convert」密技了
===================================
       ..
       ..
       {
            name: 'code_and_name',
            type: 'string',
            convert: function (v, record) {
                return record.get('bymkrCode') + ' ' + record.get('bymkrName')
            }
        }
          ...
          ...
=======================================

2015年3月27日 星期五

Raspberry Pi 的遠端桌面(而且是single 的哦)

不管是用VNC 或是 Xming,都是multi-session的
 也就是斷線後就之前的xwin狀態都不見了
現在推薦你用這:XRDP只要用一個指令就可以安裝了:
sudo apt-get install xrdp
之後只要在windows 的遠端桌面連結之,就可以了
日後不管你要在xwin裡開發或是執行一堆console,都不必怕斷了線就什麼都成了過往雲煙了
參考:XRDP


2015年1月22日 星期四

Creating Tooltip for Text Field in Extjs

原文網址在此
{
    xtype: 'textfield',
    anchor: '100%',
    name: 'Alamat',
    fieldLabel: 'Alamat',
    emptyText: 'Alamat',
    listeners : {
       render: function(p) {
            var theElem = p.getEl();
            var theTip = Ext.create('Ext.tip.Tip', {
                html: 'Tuliskan nama jalan dan nomor rumah.<br>Misal: Jl. Merak, No. 3',
                margin: '0 0 0 200',
                shadow: false
            });
           
            p.getEl().on('mouseover', function(){
                theTip.showAt(theElem.getX(), theElem.getY());
            });
           
            p.getEl().on('mouseleave', function(){
                theTip.hide();
            });
        }
    }
},

2014年12月14日 星期日

關閉win8.1的資料夾內容的「自動排列」

原文網址http://www.eightforums.com/tutorials/4299-windows-explorer-auto-arrange-disable-windows-8-a.html
batch檔內容如下:
===============================================================
@echo off

:: Created by: Shawn Brink
:: http://www.eightforums.com/
:: Tutorial:  http://www.eightforums.com/tutorials/4299-windows-explorer-auto-arrange-disable-windows-8-a.html


:: To reset all folders to default folder views
Reg Delete "HKCU\Software\Microsoft\Windows\Shell\BagMRU" /F
Reg Delete "HKCU\Software\Microsoft\Windows\Shell\Bags" /F

Reg Delete "HKCU\Software\Microsoft\Windows\ShellNoRoam\Bags" /F
Reg Delete "HKCU\Software\Microsoft\Windows\ShellNoRoam\BagMRU" /F

Reg Delete "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU" /F
Reg Delete "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags" /F

Reg Delete "HKCU\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\Bags" /F
Reg Delete "HKCU\Software\Classes\Wow6432Node\Local Settings\Software\Microsoft\Windows\Shell\BagMRU" /F



:: To kill and restart explorer
taskkill /f /im explorer.exe
start explorer.exe
CLS
echo.
echo.
echo Please wait for explorer to restart. No need to do anything.
echo.
TIMEOUT 10


:: To open the Computer window
explorer.exe shell:MyComputerFolder



:: Disable Auto Arrange for CompressedFolder (zipped) folder
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{80213e82-bcfd-4c4f-8817-bb27601267a9}" /V FFLAGS /T REG_dWORD /D 1124073476 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{80213e82-bcfd-4c4f-8817-bb27601267a9}" /V LogicalViewMode /T REG_dWORD /D 1 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{80213e82-bcfd-4c4f-8817-bb27601267a9}" /V Mode /T REG_DWORD /D 4 /F


:: Disable Auto Arrange for Contacts folder template
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{de2b70ec-9bf7-4a93-bd3d-243f7881d492}" /V FFLAGS /T REG_dWORD /D 1124073476 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{de2b70ec-9bf7-4a93-bd3d-243f7881d492}" /V LogicalViewMode /T REG_dWORD /D 1 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{de2b70ec-9bf7-4a93-bd3d-243f7881d492}" /V Mode /T REG_DWORD /D 4 /F


:: Disable Auto Arrange for Documents folder template
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{7D49D726-3C21-4F05-99AA-FDC2C9474656}" /V FFLAGS /T REG_dWORD /D 1124073476 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{7D49D726-3C21-4F05-99AA-FDC2C9474656}" /V LogicalViewMode /T REG_dWORD /D 1 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{7D49D726-3C21-4F05-99AA-FDC2C9474656}" /V Mode /T REG_DWORD /D 4 /F


:: Disable Auto Arrange for Games Explorer folder
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{b689b0d0-76d3-4cbb-87f7-585d0e0ce070}" /V FFLAGS /T REG_dWORD /D 1124073476 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{b689b0d0-76d3-4cbb-87f7-585d0e0ce070}" /V LogicalViewMode /T REG_dWORD /D 1 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{b689b0d0-76d3-4cbb-87f7-585d0e0ce070}" /V Mode /T REG_DWORD /D 4 /F


:: Disable Auto Arrange for General Items folder template
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}" /V FFLAGS /T REG_dWORD /D 1124073476 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}" /V LogicalViewMode /T REG_dWORD /D 1 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}" /V Mode /T REG_DWORD /D 4 /F


:: Disable Auto Arrange for Libraries folder
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{C4D98F09-6124-4fe0-9942-826416082DA9}" /V FFLAGS /T REG_dWORD /D 1124073476 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{C4D98F09-6124-4fe0-9942-826416082DA9}" /V LogicalViewMode /T REG_dWORD /D 1 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{C4D98F09-6124-4fe0-9942-826416082DA9}" /V Mode /T REG_DWORD /D 4 /F


:: Disable Auto Arrange for Music folder template
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{94D6DDCC-4A68-4175-A374-BD584A510B78}" /V FFLAGS /T REG_dWORD /D 1124073476 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{94D6DDCC-4A68-4175-A374-BD584A510B78}" /V LogicalViewMode /T REG_dWORD /D 1 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{94D6DDCC-4A68-4175-A374-BD584A510B78}" /V Mode /T REG_DWORD /D 4 /F


:: Disable Auto Arrange for Pictures folder template
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{B3690E58-E961-423B-B687-386EBFD83239}" /V FFLAGS /T REG_dWORD /D 1124073476 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{B3690E58-E961-423B-B687-386EBFD83239}" /V LogicalViewMode /T REG_dWORD /D 1 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{B3690E58-E961-423B-B687-386EBFD83239}" /V Mode /T REG_DWORD /D 4 /F


:: Disable Auto Arrange for Printers folder
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{2c7bbec6-c844-4a0a-91fa-cef6f59cfda1}" /V FFLAGS /T REG_dWORD /D 1124073476 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{2c7bbec6-c844-4a0a-91fa-cef6f59cfda1}" /V LogicalViewMode /T REG_dWORD /D 1 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{2c7bbec6-c844-4a0a-91fa-cef6f59cfda1}" /V Mode /T REG_DWORD /D 4 /F


:: Disable Auto Arrange for Searches folder
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{0b0ba2e3-405f-415e-a6ee-cad625207853}" /V FFLAGS /T REG_dWORD /D 1124073476 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{0b0ba2e3-405f-415e-a6ee-cad625207853}" /V LogicalViewMode /T REG_dWORD /D 1 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{0b0ba2e3-405f-415e-a6ee-cad625207853}" /V Mode /T REG_DWORD /D 4 /F


:: Disable Auto Arrange for Videos folder template
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{5FA96407-7E77-483C-AC93-691D05850DE8}" /V FFLAGS /T REG_dWORD /D 1124073476 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{5FA96407-7E77-483C-AC93-691D05850DE8}" /V LogicalViewMode /T REG_dWORD /D 1 /F
REG ADD "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{5FA96407-7E77-483C-AC93-691D05850DE8}" /V Mode /T REG_DWORD /D 4 /F
========================================================

2014年9月23日 星期二

for Extjs4 無邊框之Window物件設定

如果你已經試過,以下屬性的話,相信結果還是沒辦法達到你要的結果
           ...
           ...
           ...
            header:false,
            closable: false,
            draggable: false,
            border: false,
            frame: true,
             ...
             ...
事實上,你只差最一個屬性--「 baseCls: ''」
加上她,就大工告成了
參考來源在此

皆樣,頑張!!