! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

ComboBoxCellType EditorValue String > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 ComboBoxCellType EditorValue String

페이지 정보

작성자 포도시 작성일 2022-04-12 16:55 조회 1,998회 댓글 1건
제품 버전 : spread 13
컨트롤 이름 : farpoint.win.spread, vb.net

본문

안녕하세요. 급하게 질문드립니다. 언어는 vb.net입니다.


특정 셀의 CellType을 Combobox로 설정하였고,

EditorValue를 String으로 설정하면 기본 선택값이 없이 빈칸으로 들어가게됩니다.

  Dim tmp_celltype As New FarPoint.Win.Spread.CellType.ComboBoxCellType

  tmp_celltype.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.String

  tmp_celltype.Items = {aaa, bbb, ccc}

  SS1.Cells.Item(0, 0).CellType = tmp_celltype

여기서 기본 선택값을 설정할 수 있을까요?


그리고,


EditorValue를 Index로 설정하면 기본 선택값이 첫번째로 됩니다.

여기서 기본선택값을 바꿀 수 있는 방법과

그 선택된 Text(=String)를 텍스트 그대로 변수에 저장하고 싶은데 인덱스로만 저장이 됩니다.

  Dim tmp_celltype As New FarPoint.Win.Spread.CellType.ComboBoxCellType

  tmp_celltype.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.index

  tmp_celltype.Items = {aaa, bbb, ccc}

  SS1.Cells.Item(0, 0).CellType = tmp_celltype

    -> ss1.getvalue(0,0) 의 값은 인덱스값이 나오는데 설정되어 있는 텍스트를 표현하고 싶습니다.(gettext도 마찬가지입니다)


답변부탁드리겠습니다. 감사합니다.

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

포도시님의 댓글

포도시 작성일

SS1.Cells.Item(currow, COL_CANDIDATE).Value = "aaa" 로 해도 기본값이 셋팅되지 않습니다.

1 답변

WinForms윈폼 Re: ComboBoxCellType EditorValue String

추천0 이 글을 추천하셨습니다 비추천0 채택채택

페이지 정보

작성자 GCK써니 작성일 2022-04-13 08:47 댓글 0건

본문

첨부파일

포도시님, 안녕하세요.

그레이프시티입니다.


문의 주신 내용에 대하여 답변드리기에 앞서, 셀의 Text 속성, Value 속성, EditorValue 속성에 대해 간략하게 설명드리고자 합니다.


먼저, Text 속성의 값에는 셀에 표시된 대로 서식이 지정된 데이터가 포함됩니다.

반면 Value 속성의 값은 데이터 모델에 저장된 서식이 지정되지 않은 데이터를 포함합니다.

또한 EditorValue 속성을 설정하여, Value 속성에 저장될 데이터 유형을 설정할 수 있습니다. ComboBox에 설정할 수 있는 EditorValue 속성 값은 다음과 같습니다.

 - EditorValue.Text: 선택된 항목의 텍스트

 - EditorValue.Index: 선택된 항목의 인덱스

 - EditorValue.ItemData: 선택된 항목과 관련된 ItemData 값


따라서 ComboBox 셀타입으로 설정된 셀에서 Text 속성값을 가져오면, 셀에 보여지는 선택된 항목의 값을 그대로 가져옵니다. 반면, getValue 메소드를 사용하면, 해당 ComboBox 셀에 설정된 EditorValue 속성 값에 따라 저장된 데이터를 가지고 올 수 있습니다.


다시 문의로 돌아와 질문주신 두가지 내용에 대하여 안내드립니다. 앞서 말씀드린 각 속성 값에 대한 내용을 참고하며 하기 내용을 살펴봐주시길 바랍니다.


1. ComboBox 셀에 기본 선택값을 설정하는 방법

 ComboBoxCellType으로 설정된 셀에 Value 값을 입력하여 기본 선택값을 설정하실 수 있습니다. 이때, Value 값에 입력하는 값은 해당 콤보박스의 EditorValue 값에 따라 달라집니다.

 하기 샘플 코드에서는 콤보박스에 표기되는 항목(Item) 중 첫번째 항목을 기본 값으로 설정하고 있습니다. EditorValue가 String으로 설정된 경우에는 Value 속성으로 String을 입력하고, 만약 EditorValue가 Index로 설정된 경우라면 Value 속성 값으로 해당 항목의 인덱스를 입력합니다.

' EditorValue.String 인 경우
Dim tmp_celltype As New FarPoint.Win.Spread.CellType.ComboBoxCellType
tmp_celltype.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.String
tmp_celltype.Items = {"aaa", "bbb", "ccc"}
FpSpread1.ActiveSheet.Cells(0, 0).CellType = tmp_celltype
FpSpread1.ActiveSheet.Cells(0, 0).Value = tmp_celltype.Items(0)

'EditorValue.Index 인 경우
Dim tmp_celltype2 As New FarPoint.Win.Spread.CellType.ComboBoxCellType
tmp_celltype2.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.Index
tmp_celltype2.Items = {"aaa", "bbb", "ccc"}
FpSpread1.ActiveSheet.Cells(0, 1).CellType = tmp_celltype2
FpSpread1.ActiveSheet.Cells(0, 1).Value = 0


2. ComboBox 셀에 입력된 텍스트를 가지고 오는 방법

 방법1) 콤보박스 셀의 EitorValue와 관계없이, FpSpread1.ActiveSheet.getText(rowIndex, columnIndex)로 Text 값을 가지고 옵니다.

 방법2) 콤보박스 셀의 EditorValue를 String으로 설정한 후, FpSpread1.ActiveSheet.getValue(rowIndex, columnIndex)로 셀의 Value 값을 가지고 옵니다.


위 두가지에 대해 살펴보실 수 있도록 간단한 샘플 프로젝트를 만들어 전달드립니다.

해당 샘플 프로젝트에서는 Value 속성값이 Nothing(Null)이 아닌 셀을 클릭했을 때, 해당 셀의 Text 속성과 Value 속성의 값을 메세지박스로 보여주고 있습니다. 첨부된 샘플 프로젝트를 참고하여주시기 바랍니다.


추가로, 말씀해주신 하기 두가지 현상은 저희쪽에서 재현이 되고 있지 않습니다. 

 1) EditorValue가 Index로 설정되어 있을 때, 기본값이 첫번째 항목으로 선택되어있는 현상.

 2) EditorValue가 Index로 설정되어 있을 때, getText(0,0) 실행 시 String이 아닌 인덱스를 가져오는 현상.

만약 앞서 안내드린 방법으로 해결이 되지 않는 경우, 말씀해주신 현상이 재현되는 간단한 샘플 프로젝트를 공유해주시면 확인 후 다시 안내드릴 수 있도록 하겠습니다.


추가로 궁금하신 사항이 있을 경우, 언제든 문의주시기 바랍니다.

감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.