var HeadCol = obj.GetCellProp("Head",nCell,"col");


var BodyColId = obj.GetCellProp("Body", HeadCol,"Colid");

if(sSortFlag == true)

{

sSortFlag = false;

} else {

sSortFlag = true;

}

DS_List_copy.Sort(BodyColId , sSortFlag);



'Nexacro-Grid > Grid' 카테고리의 다른 글

Nexacro-Grid. format  (0) 2017.08.18
nexacro.Grid cell drag & drop  (0) 2017.03.30
Nexacro Grid - 한컬럼에 여러줄 보여주기  (0) 2017.01.22
Nexacro Grid -Combo Filter (필터) 처리  (0) 2017.01.22
Nexacro Grid - ToolTip  (0) 2017.01.22
Posted by 농부지기
,

[ Devon File download/Upload 권한제어 ]


1. 정의

   - 파일 Upload시 용량제한, 확장자 제한 및 허가, 파일명 정의등 기술

   - 파일 Download시 허용 및 금지 확장자 정의


2. devon-framework.xml

   


Posted by 농부지기
,

[ Client단에서 *.dev, *.do, *.mi 별로 구분방법 ]


1. 정의

   - 화면(client)단에서  retrieveEmp.mi를 했을 경우 Server단에서 어떤 command mapping파일(XML)을 찾아가는

     mapping tag관리위치를 관리

     

2. 파일

   - devon-framework.xml

     . *.dev, *.do, *.mi 확장자별  경로(directory)찾기

     . #home : web.xml파일에 home directory존재

     . #home/navigation/dev

       : D:/erp/workspace/MFG/devonhome/navigation/dev  하위의 mapping XML 파일들을 기준으로 command파일을 호출

     . #home/navigation/do

       : D:/erp/workspace/MFG/devonhome/navigation/do  하위의 mapping XML 파일들을 기준으로 command파일을 호출


   - web.xml

     . #home : home directory존재

     . 위치 : WebContent/WEB-INF/web.xml


   - employeeManagement.xml

     . 각 화면, 업무별로 파일이 개별로 존재

     . 화면단에서 retrieveEmployee.do 를 호출 하게 되면 RetrieveEmployeeCmd.java를 호출 한다.

     . 항상 실 업무단.java를 호출하기 전에 SessionCheckCmd.java인 session을 검사한다.


3. devon-framework.xml

   

4. WebContent/WEB-INF/web.xml
   

5. employeeManagement.xml
   



Posted by 농부지기
,

[ Login시 운영DB, 개발DB접속 구분방법 ]


1. 정의

   - 개발도중 기본적으로 개발db에 접속해야 되지만 상황에 따라서 운영db에 접속해야 되는 경우가 있다.

     이때 개발PC에서 운영DB에 접속하기 위한 환경설정을 하면 된다.


2. 파일 

   - devon-framework.xm : context.xml파일에서 어떤 dataresouce를 사용하지 구분방법 존재

   - context.xml            : db접속 정보


3. xml파일 설명

   1. Devon에서 db를 접속시 [devon-framework.xml]파일에서 <datasources>tag에 포함된 jndi-name을 확인한다.

      이 jndi-name에 기술된 이름을 기반으로 [context.xml]파일에서 <Resource>tag에 정의된 기준으로 db에 접속한다.

   2. 아래 <datasources> tag를 이용해서 '운영db, 개발db'접속을 구분할 수 있다.



4. devon-framework.xml


5. context.xml



Posted by 농부지기
,

[ Devon.Procedure 호출 및 결과 return ]


1. 정의 

   - Procedure 호출 후 Procedure OUTPRAM으로 넘겨 받은 결과 한 row를 java단에서 받아 화면단 으로 넘겨주기


2. Command단 java

   

3. Biz 단 java
   

4. Dao단 java
   

5. sql xml 파일
   




Posted by 농부지기
,

[ Android.TabHost-2. 기본예제1 ]


1. 소스 목록

   - activity_main.xml : layout

   - MainActivity.java : tab 적용시킬 java단


2. 정의

   - activity_main.xml파일에 Tabhost 위젯을 정의하지 않고

     java단에서 Tabhost를 생성해서 적용한 예제


3. activity_main.xml

    

4. MainActivity.java
 



'[Android] - 위젯.소스 > TabHost' 카테고리의 다른 글

Android.TabHost-1. 정의 및 구성방법  (0) 2017.02.20
Posted by 농부지기
,

[ Android.TabHost-1. 정의 및 구성방법 ]


1. 정의

   - 여러 탭을 두고 각 탭을 클릭할 때마다 해당 화면이 나오도록 설정하는 뷰 컨테이너


2. 탭 호스트 방법 1

   1. 구성방법

 

 <TabHost >

     <LInearLayout>

            <TabWidget ..  android:id="@android:id/tabs" />

            <FrameLayout ..>

                    

                   //여기에 각 탭화면(Layout)을 추가


            </FrameLayout>

     </LInearLayout>

 </TabHost>


      - TagHost는 큰 틀 안에 TabWidget과 FrameLayout 이 존재한다.

      - TabWidget은 Tab을 구성하고, FrameLayout은 Tab을 선택했을 때 보여주는 내용이다.

      - TabHost,TabWidget, FrameLayout 의 id는 '@android:id/~'로 시작되는 형식으로 id를 정의해야 된다.


      - 위와 같이 구성시 Tab은 상단에 위치된다.

      - Tab을 하단에 위치하고 싶을 경우에는 TabWidget tag안에  

             android:layout_gravity="bottom"를 추가하면 된다.


   2. Java 기본 구성 코드

      



3. 탭 호스트 방법 2

   1. 구성방법

 

 <FrameLayout  xmlns:android="http://....">

       //여기에 각 탭화면(Layout)을 추가

 </FrameLayout>


      - FrameLayout : 여러개의 차일드 레이아웃을 겹쳐놓고 선택적으로 사용할 수 있게 해주는 레이아웃 위젯

      - TabHost는 java단에서 추가하여 사용


   2. Java 기본 구성 코드

     


'[Android] - 위젯.소스 > TabHost' 카테고리의 다른 글

Android.TabHost-2. 기본예제1  (0) 2017.02.21
Posted by 농부지기
,
[ Java.reflection-기초 소스 ]

 

-  화면단에서 받은 beanName, parameter값을 문자형으로 받아서 처리 하는 reflection

- java단에서 여러게의 controller, service단을 만들지 않고, 하나로 처리 하기 위해서 임




'자바(java) > Reflection (리플렉션)' 카테고리의 다른 글

Java-Reflection 예제1  (0) 2021.08.10
Posted by 농부지기
,

[ Java.Thread-1. Thread Method 목록 ]


1. 정의

   - 쓰레드 관련 Class와 Method목록을 기술하고

     이 목록을 기준으로 각각 설명 및 예제를 작성해서 게시한다.


2. Extends, Implements Class

   - Extends : Thread

   - Implements : Runnable


3. 기능 Class

   - ExecutorService : Thread Pool 기능을 사용


4. Class별 메소드

   1. Thread

 

getName()

 thread name 얻기

 

 Thread.currentThread().getName() 

 thread name 얻기

 

 setName()

 thread name 정의 (setting) 

 

 Thread.sleep() 

 thread를 일정시간 pause 시킴

 

 

 


   2. Runnable

 

 

 

 

 

 

 

 

 


   3. ExecutorService

 

 newFixedThreadPool()

 Thread Pool 개수 지정

 

 newCachedThreadPool()

 쓰레드 수의 제한을 두지 않은 방식의 쓰레드풀 방식으로, 새로운 쓰레드 시작 요청이 들어올때마다 하나씩 쓰레드를 생성

 

 newSingleThreadExecutor()

 단하나의 쓰레드를 생성

 

 newScheduledThreadPool()

 일정시간마다 주기적으로 반복해야 하는 스타일의 동시작업을 위한 쓰레드풀. Timer 클래스를 대체할수 있는 쓰레드 풀방식이다.

 

 ForkJoinPool()

 큰 업무에 대해 분할정복과 CPU최대이용방식을 적용한 독특한 쓰레드 풀이다.


Posted by 농부지기
,

[ Java.Thread-4. Thread Pool-2 (예제) ]


1. JDK안의 쓰레드 풀들

   - JDK 1.5버전 이전까지는 유저들이 직접 쓰레드 풀을 만들어 사용했다. 유저가 직접만드는 방식은 귀찮기도 했고, 쓰레드간의 Context Switching시에 성능문제도 발생했다.  JDK1.5에서는 java.util.concurrent패키지가 포함되었는데 여기에는 다양한 방식의 쓰레드 풀이 기본으로 포함되게 되었다.


2. Executors.newFixedThreadPool(10)

   - 정의 : 최대 쓰레드를 10개까지 만드는 풀.  

             동시에 일어나는 업무의 량이 비교적 일정할때 사용한다.

   - 소스 : newFixedThreadPool(2) 를 이용해서 2개의 Pool을 생성한 후 execute()를 사용해 

            연속적으로 5개의 ThreadTask Instance생성을 시도 한다. 

            각 ThreadTask는 1초씩(Thread.sleep(1000)) 수행시간이 걸린다.

            Pool이 2개 이므로 5개를 요청했지만 instance는 2개씩만 생성 된 후 instance가 종료되면

            다음 instance가 생성 된다.


   - NewFixedThreadPoolMain.java

      

   - ThreadTask.java
      

   - 수행결과
      




Posted by 농부지기
,