page no. 

Start Release No : 7.0.500.20250612-11 / Update Release No : 7.0.500.20250612-11

작성자 :  김예슬  / 검수자 :  이승우

개요

MultiComboBox 컨트롤은 기존에도 TreeViewList 유형을 제공하였으나, SetDataSet() API 를 통해 동적으로 계층형 데이터를 설정하는 방식은 지원하지 않았습니다.
이번 개선을 통해, SetDataSet() 으로 계층 구조 데이터를 동적으로 바인딩할 수 있도록 개선하였습니다.


  1. 기능 설명
    1. TreeViewList 유형에서 SetDataSet() API 를 통한 동적 데이터 구성 지원
  2. 사용 방법
    1. MultiComboBox 의 ViewType 을 TreeViewList 로 설정합니다.


    2. MultiComboBox 의 ParentField, ChildField, ValueField, LabelField 속성을 지정하고, SetDataSet() 을 이용하여 동적으로 데이터를 바인딩합니다.

      /**
       * MultiComboBox 컨트롤에 사용할 필드 속성을 지정하고,
       * 기존에 설정된 데이터를 초기화합니다.
       * 
       * @returns {MultiComboBox} MultiComboBox 객체
       */
      var setupMultiComboBox = function() {
          var combo = Matrix.getObject('MultiComboBox');
          combo.ClearDataSet();
      
          combo.CaptionField = 'CODE';    // 필수 입력
          combo.ValueField = 'CODE';      // 필수 입력
          combo.ParentField = 'P_CODE';   // 필수 입력
          combo.ChildField = 'CODE';      // 필수 입력
          combo.ImageField = 'IMG';       // 선택 사항 (이미지 경로 : reports/WEB_IMAGES/ )
          combo.TooltipField = 'CODE';    // 선택 사항
          
          return combo;
      }
      
      /**
       * MultiComboBox 의 트리 구조 바인딩을 위해
       * 계층형 구조를 가진 데이터셋을 동적으로 생성합니다.
       * 
       * 부모와 자식의 코드가 동일한 경우 해당 항목은 루트 노드로 간주됩니다.
       * 
       * @returns {DataSet} 생성된 계층형 데이터셋 객체
       */
      var createHierarchyDataSet = function() {
          var columns = ['P_CODE', 'CODE', 'IMG'];
          var rows = [
              ['과일', '과일', 'fruit.png'],	// ROOT
              ['과일', '빨간색', 'fruit.png'],
              ['과일', '노란색', 'fruit.png'],
              ['빨간색', '사과', 'apple.png'],
              ['빨간색', '딸기', 'strawberry.png'],
              ['빨간색', '체리', 'cherries.png'],
              ['노란색', '바나나', 'bananas.png'],
              ['노란색', '망고', 'mango.png'],
              ['노란색', '망고', 'mango.png']
          ];
      
          return Matrix.CreateDataSet('T1', columns, rows);
      }
      
      /* 문서 로드 된 후 AutoRefresh 수행 전에 발생합니다 */
      Matrix.OnDocumentLoadComplete = function() {
          var combo = setupMultiComboBox();
          var dataSet = createHierarchyDataSet();
          combo.SetDataSet(dataSet);
      }

      ✅ 예제 코드 실행 결과


  • Parent 필드와 Child 필드의 값이 동일한 경우, 해당 항목은 루트 노드로 간주됩니다.
  • 부모 노드를 찾을 수 없는 항목은 트리 구조에 포함되지 않을 수 있으므로 데이터의 정합성을 확인해주세요.



기능 정보
  • API Open
  • UI Open
  • Read Only
  • Not Use
  • Hidden
  • Not Recommend
  • 해당 없음
시작 버전 정보
  • 7.0.500.20250612-11




  • 제약 사항이 있으면 여기에 등록 합니다.
  • 기존 사용자가 업데이트 시 신경 써야 할 것이 있으면 작성합니다.

  • 변경 사항변경 사항이 있으면 변경 전.후를 아래 표에 작성 합니다. 없을 경우는 아래 표를 삭제 합니다.

    변경 전변경 후릴리즈 번호
    변경 전 이미지 또는 현상 설명을 작성 (이미지 크기는 중간 이하로 사용 합니다.)변경 후 이미지 또는 현상 설명을 작성 (이미지 크기는 중간 이하로 사용 합니다.) 변경 릴리즈 번



  • 샘플 URL : https://rnd.bimatrix.co.kr/aud7/ 또는 https://aud.bimatrix.co.kr 등 외부 접근 위치에 샘플이 있을 경우 보고서 경로를 입력합니다.
  • 샘플 파일



(BCRM#F2232) [i-AUD] MutliComboBox 를 TreeViewList 로 사용할 때, 동적으로 DataSet 을 바인딩할 수 있는 API 추가
추가 이슈 처리가 있을 경우 표 뒤에 행 추가 한 다음 작성 합니다.