제이쿼리 압축 파일을 Eclipse에 포함 시키면 매번 오류가 난다고 표시된다.

그렇지만 실제 해보면 잘 되는데 이거 엄청 신경쓰인다.

그렇다고 그 부분을 고치기도 애매하다.

이럴때 검사 제외 패턴을 사용한다.


프로젝트 -> Properties -> JavaScript -> Include Path -> Source -> Excluded -> Edit -> Exclusion Patterns -> Add


'**/jquery*.js' 등록





참고 : http://imwill.com/eclipse-java-ee-jquery-validation-error-workaround/#.T9l_mrXqRoI



'IDE/Tool > Eclipse' 카테고리의 다른 글

[Eclipse] SVN(Subversion 설치)  (0) 2012.06.19
[Eclipse] Automatically Close 해제  (0) 2012.06.15
[Eclipse] Console 한글깨짐  (0) 2012.06.14
[Eclipse] 글꼴 및 Color 변경  (0) 2012.06.13
[Eclipse] 기본브라우저 설정  (0) 2012.06.13
posted by 뚱2

[Chrome] 크롬 디버깅

IDE/Tool/Chrome 2012. 6. 14. 14:36

링크 : https://developers.google.com/chrome-developer-tools/docs/overview?hl=ko-KR

posted by 뚱2

Jeus 연동해서 작업하면서 별 삽질을 다 하네요.


1. JEUS_HOME 위치로 이동

2. config -> [노드명] 이동

3.  JEUSMAIN.xml 수정




'WAS > Jeus' 카테고리의 다른 글

[Jeus] Jeus5 스펙  (0) 2013.04.02
[Jeus] encoding 설정  (0) 2012.07.07
[Jeus] Tmax jeus  (0) 2012.06.20
[Jeus] 환경셋팅  (0) 2012.06.14
posted by 뚱2

새로운 프로젝트에서 밑바탕부터 시작하니 이것 저것 걸리는게 많습니다.


각설하고 Jeus + Eclipse 환경에서 개발합니다.


개발전에 모든 Encoding을 UTF-8로 교채했습니다.


테스트겸 System.out.println으로 콘솔창에 찍어봤는데 한글이 깨집니다. ㅠㅠ


수정방법은 


Run -> Run Configurations ... -> [JEUS Server] -> Common에서 Encoding을 'EUC-KR'로 변경합니다.


* 추가 : 2012-07-28

Jeus의 WebApp설정을 UTF-8로 맞춰주시는 방법도 있습니다.





posted by 뚱2

Window -> Preferences -> General -> Editors -> TextEditor -> Color and fonts 클릭




posted by 뚱2

링크 : http://www.cyworld.com/myoda/3672711 

'IDE/Tool > Eclipse' 카테고리의 다른 글

[Eclipse] Console 한글깨짐  (0) 2012.06.14
[Eclipse] 글꼴 및 Color 변경  (0) 2012.06.13
[Eclipse] Heap 영역 조절  (0) 2012.06.13
[Eclipse] 자바 개발 환경 구축 JAVA SDK + Eclipse  (0) 2012.06.13
[Eclipse] Plugin 개발하기  (0) 2012.06.07
posted by 뚱2

메모가 여유가 있다면 아래와 같이 설정한다.



-Xml1024m

-Xmx1024m

로 설정한다.




Window -> Preferences -> General -> Show heap status 를 체크해준다.




이클립스에 표시된다.



posted by 뚱2

Java SDK 설치

링크 : http://blog.naver.com/meanless44/130108228576 


Eclipse 설치

링크 : http://blog.naver.com/meanless44/130108638982

'IDE/Tool > Eclipse' 카테고리의 다른 글

[Eclipse] 기본브라우저 설정  (0) 2012.06.13
[Eclipse] Heap 영역 조절  (0) 2012.06.13
[Eclipse] Plugin 개발하기  (0) 2012.06.07
[Eclipse] 25 Best Free Eclipse Plug-ins for Java  (0) 2012.01.09
[Eclipse] Tasks를 사용하자.  (0) 2011.11.11
posted by 뚱2

[Subversion] Windows Service 등록

VCS/SVN 2012. 6. 13. 13:02

- 서비스 등록

sc \\컴퓨터이름 create svnserve binpath= "C:\Program Files (x86)\Subversion\bin\svnserve.exe --service -r D:\Repos" DisplayName= "Subversion svnserve"


- 서비스 등록 해제

sc \\컴퓨터이름 delete svnserve

'VCS > SVN' 카테고리의 다른 글

[SVN] Windows Subversion 설치  (0) 2012.06.12
posted by 뚱2

링크 : http://technet.microsoft.com/ko-kr/library/ms175043(v=sql.105).aspx 

posted by 뚱2

[SVN] Windows Subversion 설치

VCS/SVN 2012. 6. 12. 17:45

링크 : http://wiki.kldp.org/wiki.php/Subversion-HOWTO 

'VCS > SVN' 카테고리의 다른 글

[Subversion] Windows Service 등록  (0) 2012.06.13
posted by 뚱2

링크 : http://blog.naver.com/jwones?Redirect=Log&logNo=70071436808 

'Visual Basic' 카테고리의 다른 글

[Visual Basic] CreateObject Method (RDS)  (0) 2012.06.07
posted by 뚱2

링크 : http://msdn.microsoft.com/en-us/library/windows/desktop/ms681006(v=vs.85).aspx 

'Visual Basic' 카테고리의 다른 글

[Visual Basic] Visaul Basic 개요  (0) 2012.06.08
posted by 뚱2
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE [SBO-COMMON]
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE ([SBO-COMMON_log], 1);
GO
-- Reset the database recovery model.
ALTER DATABASE [SBO-COMMON]
SET RECOVERY FULL;
GO
posted by 뚱2

[.Net] Zlib Wrapper

.Net/.Net 2012. 5. 22. 11:08

링크 : http://www.componentace.com/zlib_.NET.htm 

링크 : http://zlibnetwrapper.sourceforge.net/ 

'.Net > .Net' 카테고리의 다른 글

[.Net] pinvoke.net  (0) 2013.01.07
[.Net] Windows 서비스 응용 프로그램  (0) 2012.12.07
[.Net] Inter-Process Communication  (0) 2012.04.17
[.Net] IPC  (0) 2012.04.16
[.Net] 관리코드에서 메모리 누수 및 방지  (0) 2012.04.11
posted by 뚱2

링크 : http://sourceforge.net/projects/sqlite-dotnet2/ 

 

사용법 : http://blog.simplism.kr/?p=2363

'DB / NoSQL > SQLite' 카테고리의 다른 글

SQLite Expert  (0) 2011.02.15
SQLite 3.7.2 Windows Mobile용 dll  (0) 2010.09.25
posted by 뚱2

링크 : http://blog.naver.com/dalsapcho?Redirect=Log&logNo=20142111172 

 

snoopyghostr3.exe

 

 

링크 : http://blog.naver.com/dldnjswns910?Redirect=Log&logNo=130130337350

 

자동백업.exe

 

자동복구.exe


위 프로그램들은 x86용 입니다. x64에서는 구동되지 않습니다.

posted by 뚱2

SWISSFLEX 안경테

뚱2's 이야기 2012. 4. 26. 15:14




지금 사용하고 있는 안경은 태그호이어 제품입니다.


가볍고 편할것 같다는 생각에 구입했는데 의외로 편하지는 않았던것 같습니다.


그리고 한 2년 사용하다 보니 질리기도 해서


안경테를 살펴보는 중에 스위스플렉스 제품이 눈에 띄었는데 제품 소제는 딱 마음에 드네요.


직접 안경원에 가서 써보고 구입해야 할 것 같습니다.


우선 이름이라도 기억해야지 SWISSFLEX!!


링크 : http://www.swissflex-eyewear.com/sites/index.html



posted by 뚱2


테이블 스키마 정보를 읽어서 VO 객체를 자동으로 만들려고 하는데 MSSQL 테이블 스키마 정보를 읽어오는 쿼리가 필요했다.

회사 과장님이 만들어 주신걸 잘 활용 감사합니다. ㅎㅎ


 SELECT C.TABLE_NAME AS [Table]                                                                               
      , '' Entity                                                                                             
      , C.COLUMN_NAME AS [Column]                                                                             
      , DATA_TYPE AS [Datatype]                                                                               
      , '' Attribute                                                                                          
      , ISNULL (K.PK, '') AS PK                                                                               
      , ISNULL (X.[Identity], '') AS [Identity]                                                               
      , C.IS_NULLABLE AS NULLABLE                                                                             
      , ISNULL (K.FK, '') AS FK                                                                               
      , ORDINAL_POSITION AS COLIDX                                                                            
   FROM       (SELECT TABLE_NAME                                                                              
                    , COLUMN_NAME                                                                             
                    , CASE WHEN IS_NULLABLE = 'YES' THEN '' ELSE 'NOT' END AS IS_NULLABLE                     
                    , DATA_TYPE                                                                               
                    , CASE                                                                                    
                         WHEN DATA_TYPE IN ('VARCHAR', 'NVARCHAR', 'char', 'nchar')                           
                         THEN                                                                                 
                              DATA_TYPE                                                                       
                            + '('                                                                             
                            + CONVERT (VARCHAR (10), ISNULL (CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION))    
                            + ')'                                                                             
                         WHEN DATA_TYPE IN ('DECIMAL')                                                        
                         THEN                                                                                 
                              DATA_TYPE                                                                       
                            + '('                                                                             
                            + CONVERT (VARCHAR (10), NUMERIC_PRECISION)                                       
                            + ', '                                                                            
                            + CONVERT (VARCHAR (10), NUMERIC_SCALE)                                           
                            + ')'                                                                             
                         ELSE                                                                                 
                            ''                                                                                
                      END                                                                                     
                         AS DATA_SIZE                                                                         
                    , ORDINAL_POSITION                                                                        
                    , COLUMN_DEFAULT                                                                          
                 FROM INFORMATION_SCHEMA.COLUMNS) AS C                                                        
           LEFT JOIN                                                                                          
              (SELECT COLUMN_NAME                                                                             
                    , MAX (PK) AS PK                                                                          
                    , MAX (FK) AS FK                                                                          
                    , MAX (INX) AS INX                                                                        
                    , TABLE_NAME                                                                              
                 FROM (SELECT C.COLUMN_NAME                                                                   
                            , K.TABLE_NAME                                                                    
                            , CASE WHEN K.CONSTRAINT_TYPE = 'PRIMARY KEY' THEN 'Yes' END AS PK                
                            , CASE WHEN K.CONSTRAINT_TYPE = 'FOREIGN KEY' THEN 'Yes' END AS FK                
                            , CASE WHEN K.CONSTRAINT_TYPE = 'INDEX' THEN 'Yes' END AS INX                     
                         FROM    INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS K                                    
                              INNER JOIN                                                                      
                                 INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS C                              
                              ON K.CONSTRAINT_NAME = C.CONSTRAINT_NAME) AS K                                  
               GROUP BY TABLE_NAME                                                                            
                      , COLUMN_NAME) AS K                                                                     
           ON C.COLUMN_NAME = K.COLUMN_NAME AND C.TABLE_NAME = K.TABLE_NAME                                   
        LEFT JOIN                                                                                             
           (SELECT SO.name AS TableName                                                                       
                 , IC.NAME AS ColumnName                                                                      
                 , 'Yes' AS [Identity]                                                                        
              FROM    sys.identity_columns IC                                                                 
                   INNER JOIN                                                                                 
                      sysObjects SO                                                                           
                   ON SO.id = IC.[object_id]) X                                                               
        ON C.TABLE_NAME = X.TableName AND C.COLUMN_NAME = X.ColumnName                                        
 ORDER BY C.TABLE_NAME                                                                                        
        , C.ORDINAL_POSITION     

테이블스키마정보.sql

posted by 뚱2

링크 : http://yongwoon.tistory.com/entry/MacOS-X-Lion-TRIM-%ED%99%9C%EC%84%B1%ED%99%94-%EC%8B%9C%ED%82%A4%EA%B8%B0 


링크 : http://www.groths.org/?page_id=322

posted by 뚱2

 



-- 유니코드로 언어변경
ALTER DATABASE [KISS] COLLATE Korean_Wansung_Unicode_CI_AS

posted by 뚱2

[.Net] Inter-Process Communication

.Net/.Net 2012. 4. 17. 20:00

1. Ipc클래스 이용

링크 : http://anoriginalidea.wordpress.com/2007/08/09/simple-inter-process-communication-in-vbnet/


2. 표준 입출력 이용

링크 : http://vervain.tistory.com/75#comment5317331 

'.Net > .Net' 카테고리의 다른 글

[.Net] Windows 서비스 응용 프로그램  (0) 2012.12.07
[.Net] Zlib Wrapper  (0) 2012.05.22
[.Net] IPC  (0) 2012.04.16
[.Net] 관리코드에서 메모리 누수 및 방지  (0) 2012.04.11
[.Net] 가비지 수집 모니터링  (0) 2012.04.11
posted by 뚱2

[.Net] IPC

.Net/.Net 2012. 4. 16. 14:24

링크 : http://msdn.microsoft.com/ko-kr/library/system.runtime.remoting.channels.ipc(v=vs.90).aspx

posted by 뚱2

링크 : http://support.microsoft.com/kb/315582 


비동기로 UI 호출 하기 : http://jongkok4.net/entry/%C6%DFc-UI-%BE%B2%B7%B9%B5%E5-%B8%B6%BC%A3%B8%B5-Invoke-BeginInvoke?TSSESSIONjongkok4net=6e5ec00b34c31e0126e9a64412f7a627


'.Net > C#' 카테고리의 다른 글

[C#] StackTrace  (0) 2013.01.08
[C#] DllImportAttribut  멤버  (0) 2013.01.04
[C#] Assembly Version Loading  (0) 2012.04.06
[C#] VS 2008 서식 자동 해제  (0) 2012.04.06
[C#] log4net  (0) 2012.04.03
posted by 뚱2

[XtraGrid] Online Document

.Net/XtraGrid 2012. 4. 13. 17:04

링크 : http://documentation.devexpress.com/#WindowsForms/clsDevExpressXtraGridViewsGridGridViewtopic

'.Net > XtraGrid' 카테고리의 다른 글

[XtraGrid] XtraGrid Option  (0) 2013.01.24
[XtraGrid] Copy & Paste 구현  (0) 2012.04.11
[XtraGrid] How to make my grid columns read-only  (0) 2012.04.08
[XtraGrid] Checkbox 구현하기  (1) 2012.04.06
[XtraGrid] Fixed Columns  (0) 2012.04.05
posted by 뚱2

[XtraGrid] Copy & Paste 구현

.Net/XtraGrid 2012. 4. 11. 14:06

링크 : http://www.devexpress.com/Support/Center/p/A1266.aspx 

Copy 구현 : http://www.devexpress.com/Support/Center/p/A332.aspx

셀렉션 옵션 : http://documentation.devexpress.com/#WindowsForms/CustomDocument711  



using System;
using System.Drawing;
using System.Collections;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Data;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters;
using System.Runtime.Serialization.Formatters.Binary;

using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraGrid.Views.Base;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using DevExpress.Utils.Drawing;


namespace KIS.DevExpressHelper
{
    public class GridLClipboardHelper
    {
        private const string CellDelimiter = "\t";
        private const string LineDelimiter = "\r\n";
        protected GridView _view;

        /// 생성자
        public GridLClipboardHelper(GridView view)
        {
            this.View = view;
        }
        public GridView View
        {
            get { return _view; }
            set
            {
                if ( _view != value )
                {
                    Detach();
                    Attach(value);
                }
            }
        }

        protected virtual void Attach(GridView view)
        {
            if ( view == null )
                return;
            this._view = view;

            if ( view.IsMultiSelect == false )
            {
                view.OptionsSelection.MultiSelect       = true;
                view.OptionsSelection.MultiSelectMode   = GridMultiSelectMode.RowSelect;
            }

            this.View.KeyDown       += new KeyEventHandler(View_KeyDown);
        }

        private bool CompareGrid(GridView srcView, GridView tgtView)
        {
            int srcCnt = srcView.Columns.Count;
            int tgtCnt = tgtView.Columns.Count;

            if ( srcView == null || tgtView == null )
            {
                return false;
            }

            if ( srcCnt != tgtCnt )
            {
                return false;
            }

            for ( int i = 0; i < srcCnt; i++ )
            {
                if ( srcView.Columns[i].ColumnType != tgtView.Columns[i].ColumnType 
                     || srcView.Columns[i].FieldName != tgtView.Columns[i].FieldName
                    )
                {
                    return false;
                }
            }

            return true;
        }

        void View_KeyDown(object sender, KeyEventArgs e)
        {
            GridView view = sender as GridView;

            // 붙여 넣기
            if ( this.CompareGrid(this._view, view) == true && view.IsMultiSelect == true && e.Control == true && e.KeyCode == Keys.V )
            {
                this.Paste(view);
            }
            // 복사하기
            else if ( this.CompareGrid(this._view, view) == true && view.IsMultiSelect == true && e.Control == true && e.KeyCode == Keys.C )
            {
                e.SuppressKeyPress = true;
                this.Copy(view);
            }
            // 모두 선택
            else if ( this.CompareGrid(this._view, view) == true && view.IsMultiSelect == true && e.Control == true && e.KeyCode == Keys.A )
            {
                this.SelectAll(view);
            }
            // 삭제
            else if ( this.CompareGrid(this._view, view) == true && view.IsMultiSelect == true &&  e.KeyCode == Keys.Delete )
            {
                this.DeleteRows(view);
            }
            // 오려내기
            else if ( this.CompareGrid(this._view, view) == true && view.IsMultiSelect == true && e.Control == true && e.KeyCode == Keys.X )
            {
                this.Copy(view);
                this.DeleteRows(view);
            }
        }

        /// 모두 선택
        public void SelectAll(GridView view)
        {
            view.SelectAll();
        }

        // 복사하기
        public void Copy(GridView view)
        {
            StringBuilder sb = new StringBuilder();
            int columnNameCnt = view.Columns.Count;
            for ( int i = 0; i < columnNameCnt; i++ )
            {
                try
                {
                    sb.Append(view.Columns[i].FieldName.ToString());
                }
                catch ( ArgumentException )
                {
                    sb.Append("");
                }

                if ( i+1 < columnNameCnt )
                    sb.Append(CellDelimiter);
            }
            sb.Append(LineDelimiter);


            int[] rows = view.GetSelectedRows();
            int rowsCnt = rows.Length;
            for ( int i = 0; i < rowsCnt; i++ )
            {
                int handle = rows[i];
                DataRowView rowView = view.GetRow(handle) as DataRowView;
                if ( rowView != null )
                {
                    for ( int j = 0; j < columnNameCnt; j++ )
                    {
                        try
                        {
                            sb.Append(rowView[view.Columns[j].FieldName].ToString());
                        }
                        catch ( ArgumentException )
                        {
                            sb.Append("");
                        }

                        if ( j+1 < columnNameCnt )
                            sb.Append(CellDelimiter);
                    }
                }
                if ( i+1 < rowsCnt )
                    sb.Append(LineDelimiter);
            }

            DataObject data = new DataObject();
            data.SetData(DataFormats.Text, sb.ToString());
            Clipboard.Clear();
            Clipboard.SetDataObject(data, true);
        }

        // 붙여넣기
        public void Paste(GridView view)
        {
            IDataObject data = Clipboard.GetDataObject();
            if ( data.GetDataPresent(DataFormats.Text) == true )
            {
                view.BeginUpdate();
                try
                {
                    string strData          = data.GetData(DataFormats.Text) as string;
                    string[] strRows        = strData.Split(new string[] { LineDelimiter }, StringSplitOptions.None);
                    string[] strColumnNames = strRows[0].Split(new string[] { CellDelimiter }, StringSplitOptions.None);

                    List< object > list = new List< object >();
                    int dataCount               = strRows.Length-1; // 헤더 개수 제외
                    int rowHandle               = view.FocusedRowHandle;
                    int targetDeleteRowCount    = view.DataRowCount - rowHandle + 1;

                    if ( rowHandle != GridControl.InvalidRowHandle && rowHandle != GridControl.NewItemRowHandle )
                    {
                        // 붙여 넣기할 Row가 현재 선택된 행부터 밑에 행보다 많다.
                        if ( targetDeleteRowCount > dataCount )
                        {
                            for ( int i = rowHandle + dataCount; i < view.DataRowCount; i++ )
                            {
                                list.Add(view.GetRow(i));
                            }
                        }

                        // 현재 선택된 행부터 끝까지 삭제한다.
                        for ( int i = view.DataRowCount-1; i >= rowHandle; i-- )
                        {
                            view.DeleteRow(i);
                        }
                    }
                    else if ( rowHandle == GridControl.NewItemRowHandle )
                    {
                        view.DeleteRow(rowHandle);
                    }

                    for ( int i = 1; i < strRows.Length; i++ )
                    {
                        view.AddNewRow();
                        int handle = view.FocusedRowHandle;

                        string[] strCells = strRows[i].Split(new string[] { CellDelimiter }, StringSplitOptions.None);
                        int colCnt = strColumnNames.Length;
                        for ( int j = 0; j < colCnt; j++ )
                        {
                            if ( strColumnNames[j].Trim().Equals("") == false && j < strCells.Length )
                            {
                                try
                                {
                                    Type t = view.Columns[j].ColumnType;
                                    object value = null;
                                    if ( t == typeof(int) )
                                    {
                                        if ( strCells[j] != null && strCells[j].ToString().Equals("") == false )
                                        {
                                            try
                                            {
                                                value = Convert.ToInt32(strCells[j]);
                                                if ( value != null )
                                                    view.SetRowCellValue(handle, strColumnNames[j], value);
                                            }
                                            catch ( Exception ex )
                                            {
                                                System.Console.WriteLine(ex.StackTrace);
                                            }
                                        }
                                    }
                                    else if ( t == typeof(DateTime) )
                                    {
                                        if ( strCells[j] != null && strCells[j].ToString().Equals("") == false )
                                        {
                                            try
                                            {
                                                value = Convert.ToDateTime(strCells[j]);
                                                if ( value != null )
                                                    view.SetRowCellValue(handle, strColumnNames[j], value);
                                            }
                                            catch ( Exception ex )
                                            {
                                                System.Console.WriteLine(ex.StackTrace);
                                            }
                                        }
                                    }
                                    else if ( t == typeof(string) )
                                    {
                                        if ( strCells[j] != null )
                                        {
                                            try
                                            {
                                                value = Convert.ToString(strCells[j]);
                                                if ( value != null )
                                                    view.SetRowCellValue(handle, strColumnNames[j], value);
                                            }
                                            catch ( Exception ex )
                                            {
                                                System.Console.WriteLine(ex.StackTrace);
                                            }
                                        }
                                    }
                                }
                                catch ( Exception ex)
                                {
                                    //MessageBox.Show(ex.Message + "\n\n" + ex.StackTrace);
                                }
                            }//if ( strColumnNames[j].Trim().Equals("") == false )
                        }//for ( int j = 0; j < colCnt; j++ )
                    }//for ( int i = 1; i < strRows.Length; i++ )

                    DataView dv = view.DataSource as DataView;
                    for ( int i = 0; i < list.Count; i++ )
                    {
                        DataRowView drv = list[i] as DataRowView;
                        if ( drv != null )
                        {
                            DataRowView newDRV = dv.AddNew();
                            newDRV.BeginEdit();
                            try
                            {
                                int columNameCount= drv.Row.Table.Columns.Count;
                                for ( int j = 0; j < columNameCount; j++ )
                                {
                                    string fieldName = drv.Row.Table.Columns[j].ColumnName;
                                    newDRV[fieldName] = drv[fieldName];
                                }
                                newDRV.EndEdit();
                            }
                            catch ( Exception )
                            {
                                newDRV.CancelEdit();
                            }
                        }
                    }
                }
                catch ( Exception ex )
                {
                    MessageBox.Show(ex.StackTrace);
                }
                finally
                {
                    view.EndUpdate();
                }
            }//if ( data.GetDataPresent(DataFormats.Text) == true )
        }


        /// 현재 선택된 로우를 삭제한다.
        private void DeleteRows(GridView view)
        {
            view.BeginUpdate();
            int[] rows = view.GetSelectedRows();
            for ( int i = rows.Length-1; i >= 0 ; i-- )
            {
                view.DeleteRow(rows[i]);
            }
            view.EndUpdate();
        }

        protected virtual void Detach()
        {
            if ( this._view == null )
                return;

            this.View.KeyDown       -= new KeyEventHandler(View_KeyDown);
            _view = null;
        }
    }
}

'.Net > XtraGrid' 카테고리의 다른 글

[XtraGrid] XtraGrid Option  (0) 2013.01.24
[XtraGrid] Online Document  (0) 2012.04.13
[XtraGrid] How to make my grid columns read-only  (0) 2012.04.08
[XtraGrid] Checkbox 구현하기  (1) 2012.04.06
[XtraGrid] Fixed Columns  (0) 2012.04.05
posted by 뚱2

링크 : http://sonumb.tistory.com/29 


Visual Studio 2005 상에서 쓰이는 Macro 환경 변수

MacroDescription
$(ConfigurationName)

The name of the current project configuration, for example, "Debug|Any CPU".

$(OutDir)

Path to the output file directory, relative to the project directory. This resolves to the value for the Output Directory property. It includes the trailing backslash '\'.

$(DevEnvDir)

The installation directory of Visual Studio 2005 (defined with drive and path); includes the trailing backslash '\'.

$(PlatformName)

The name of the currently targeted platform. For example, "AnyCPU".

$(ProjectDir)

The directory of the project (defined with drive and path); includes the trailing backslash '\'.

$(ProjectPath)

The absolute path name of the project (defined with drive, path, base name, and file extension).

$(ProjectName)

The base name of the project.

$(ProjectFileName)

The file name of the project (defined with base name and file extension).

$(ProjectExt)

The file extension of the project. It includes the '.' before the file extension.

$(SolutionDir)

The directory of the solution (defined with drive and path); includes the trailing backslash '\'.

$(SolutionPath)

The absolute path name of the solution (defined with drive, path, base name, and file extension).

$(SolutionName)

The base name of the solution.

$(SolutionFileName)

The file name of the solution (defined with base name and file extension).

$(SolutionExt)

The file extension of the solution. It includes the '.' before the file extension.

$(TargetDir)

The directory of the primary output file for the build (defined with drive and path). It includes the trailing backslash '\'.

$(TargetPath)

The absolute path name of the primary output file for the build (defined with drive, path, base name, and file extension).

$(TargetName)

The base name of the primary output file for the build.

$(TargetFileName)

The file name of the primary output file for the build (defined as base name and file extension).

$(TargetExt)

The file extension of the primary output file for the build. It includes the '.' before the file extension.


주절 주절~ 더군다나 영어!!
이럴땐 예시를 보는게 킹왕짱입니다. . -_-

  1. 보통 UNIX와 윈도우즈에서 말하는 Path는 "파일의 이름 및 확장자를 포함하는 경로"이고 Directory는 "파일의 경로만"을 얘기합니다.
    그럼 파일의 Path가 "c:windowscmd.exe"라면 그 파일의 Directory는 "c:windows\" 인거죠. :)
    또 다른 팁은 FileName = Name + Ext 가 있습니다..
    그러면 이제 외우기 좀 쉬워지죠?

posted by 뚱2

링크 : http://msdn.microsoft.com/ko-kr/magazine/cc163491.aspx 


메모리 릭 찾기

Windbg : http://www.codeproject.com/Articles/31382/Memory-Leak-Detection-Using-Windbg 

NET : http://www.codeproject.com/Articles/19490/Memory-Leak-Detection-in-NET


posted by 뚱2