소프트웨어개발

[데브익스프레스] LookupEdit의 또 다른 방식 TokenEdit

우리비엔씨 2022. 7. 23. 11:02

안녕하세요.

DevExpress의 컨트롤중에서 TokenEdit를 사용해 보셨습니까?
TokenEdit는 드롭다운 메뉴처럼 선택하거나, 선택을 제거하는것을 매우 편리하게 구현하게 해주는 기능입니다.
사용자가 이 토큰을 빠르게 선택/취소할 수 있는 "제거" 버튼이 같이 존재합니다.


이 TokenEdit를 사용하는 예시를 먼저 보여드릴께요.

 

데브익스프레스 TokenEdit 선택/제거 모습

아래는 코딩 예시입니다.

코딩 예시1)
   tokenEdit1.Properties.BeginUpdate();
   tokenEdit1.Properties.DataSource = dtDatatable;
   tokenEdit1.Properties.DisplayMember = "fieldName"; 
   tokenEdit1.Properties.ValueMember = "fieldId";
   tokenEdit1.Properties.EndUpdate();

코딩 예시2)
    tokenEditCountries.Properties.Tokens.BeginUpdate();
    tokenEditCountries.Properties.Tokens.AddToken("France");
    tokenEditCountries.Properties.Tokens.AddToken("Germany");
    tokenEditCountries.Properties.Tokens.AddToken("Italy");
    tokenEditCountries.Properties.Tokens.AddToken("Japan");
    tokenEditCountries.Properties.Tokens.AddToken("Spain");
    tokenEditCountries.Properties.Tokens.AddToken("UK");
    tokenEditCountries.Properties.Tokens.AddToken("USA");
    tokenEditCountries.Properties.Tokens.EndUpdate();
위 처럼 TokenEdit에 item list를 넣을 수 있습니다.

TokenEdit에 초기 선택값을 미리 셋팅해 둘 수도 있는데, tokenEdit1.EditValue에 Item값을 넣으면 됩니다.
   예시) tokenEdit1.Editvalue = "1234"; 

# 사용자가 TokenEdit에 Item값을 입력하는 순간 목록을 검색해 오는 두가지 방식이 있습니다.
    TokenEdit --> Properties --> PopupFilterMode 속성에 들어가시면 StartWith와 Contains 두가지중 하나를 선택하실 수 있습니다.
    * StartWith는 입력한 검색문자를 시작값으로 가진 목록을 검색해오는 방식이고,
    * Contains는 입력한 검색문자를 포함하고 있는 목록을 검색해 오는 방식입니다.

그럼 사용자가 선택한 Token의 목록은 어떻게 가져올 수 있을까요?
아래 예시처럼 SelectedItems를 이용해 꺼내올 수 있습니다.
foreach (var item in tokenEdit1.SelectedItems.ToList())
{
        System.Console.WriteLine(item.Description);
        System.Console.WriteLine(item.Value.ToString());
}

이렇게 사용자가 입력한 Item값들을 꺼내와 SELECT Query의 IN 조건문장을 만들거나 각종 Filter로 적용하시면 됩니다.

TokenEdit의 기능은 위 내용 말고도 Check방식을 적용하거나, 다른 응용가능한 기능들이 더 있는데 추후 다시 글로 남겨보도록 하겠습니다.
이상 TokenEdit에 대한 소개였습니다.

데브익스프레스의 다양한 기능들을 틈나는데로 조금씩 올려보도록 하겠습니다.
좋은 하루 되세요.