DevExpress QuantumGrid 사용법 008 ( cxGrid Level Tab 구성하기 외.. )

전장 에서 Level을 이용한 Master-Detail에 대해 알아 보았습니다.
본장에서는 Level를 이용한 Tab 구성 및 TableView등의 내용을 이용한 Lookup등을 알아 보겠습니다.

이번 내용도 역시 본 제작자가 이동 또는 게시하지 않는 경우를 제외하고는 이곳 외에 다른 곳에서 볼 수 없습니다. 이를 어 길시 정말 법적 제제가 가해질 수 있습니다. 

-. Level을 이용하여 Tab 구성하기.

이번에는 BandedTableView가 아닌 일반 TableView를 이용하여 Level Tab을 지정하는 법을 살펴 보겟습니다.
Table은 이미 3개가 선언 되었으며, Level1~3에 각각 미리 Setting하였습니다.
너무 간단해서 설명이 필요 없을것 같네요. (^^)

-. LookUp 에 Table View설정하기.

간단 간단 한 내용이 주를 이루네요.
아래 그림을 보면 이해가 쉬울 겁니다.(같은 컬럼을 2개 배열하고 한개는 다른 DB의 내용으로 변경하는 겁니다.)
실무에서 가장 많이 쓰이는 기능중 하나 입니다.
DropDownAutoSize := true이면 위에 실행화면에서도 보셨겠지만, DropDown할때 View의 크기만큼 벌어져 내용이 나타 납니다. DropDownHeight, DropDownWidth등의 설정을 이용하시는것도 좋습니다.

이외에 를 이용한 내용에도 View가 쓰입니다.
Level에 연결되지 않아도 View자체만으로도 연결이 가능합니다. ( 모두 )

팁 하나 : 며칠전 델마당에 질문이 올라와 있었습니다.
View.DataController.Search.Locate문대신 다른 검색 방법을 찾는 방법입니다.
QuantumGrid의 Locate라는 넘은 다 좋은데 질문에서 처럼 ‘abcdefg’중 ‘abc만 입력해도 찾았다고 레코드를 이동해 버립니다.
편할때도 있지만,  꼭 그렇지만도 않을때가 있습니다.

FindRecordIndexByText라는 넘은 일부분이던 전체가 모두 같던 파라미터로 내용을 검색합니다.
소스를 잘보시면, While 문으로 뺑뺑이 돕니다.

TableView.dataController.FindRecordIndexByText(
      찾을 시작 위치,
      FocusedItemIndex,  <– Focus된 Column( Item )의 Index 위치
      찾을 문자값,
      APartialCompare, <– True : IncSearch처럼 일부 찾기, False : 문자열이 완전히 같아야 한다.
      ACircular,  <– True : 시작 위치 부터 아래로 찾다가 없으면 다시 처음부터 찾는다. False이면 아래 또는 위로 찾다가 없으면 자기 자신을 돌려준다.
      Forward, <– True : 아래로 찾는다. False : 위로 찾는다.
      ) : 레코드의 위치

찾은 레코드의 위치를 리턴 합니다. 만약 못찾은 경우 자기 자신의 위치를 리턴 합니다.
자동으로 위치를 옮겨 주지 않기 때문에 TableView.DataController.FocusedRecordIndex 를 지정해주셔야 합니다.

Author: yyjksw