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

ComboboxCellType 클릭시 스크롤이 아래로 이동되어 있는 문제 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 ComboboxCellType 클릭시 스크롤이 아래로 이동되어 있는 문제

페이지 정보

작성자 김동현 작성일 2023-10-30 10:26 조회 342회 댓글 0건
제품 버전 : v8.35.20151.0
컨트롤 이름 : ComboboxCellType

본문

안녕하세요. 


ComboboxCellType이 선택이 되어 있지 않을 경우에도 스크롤이 아래로 이동 되어 있는 문제가 있습니다.


아래 이미지에서 보실 수 있듯 VB에서는 선택이 되어 있지 않을 경우 맨 상단에서 부터 시작하는데 비해 C#은 따로 설정을 하지 않아도 빈칸이 선택되어 있고 선택이 된 맨 하단에서 내용을 볼 수 있습니다. Combobox의 내용은 아래 [코드]와 같이 런타임에서 내용을 넣어주고 있는 상황입니다.

해결 방법이 있을까요? 

감사합니다.


[VB]

c2cdd4110542be60b2f96f49a12fe996_1698628559_1402.png

[C#]
c2cdd4110542be60b2f96f49a12fe996_1698628559_214.png


[코드]


        public static void gSpread_FillCodeCombo1(SheetView sprSpread, object Col, object sCode, string sComboStr, object lscode)

        {

            int lTmp;

            int lMax;

            string schk;

            int lcode; // null


            schk = "";

            ICellType cellType = new ComboBoxCellType();

            ((ComboBoxCellType)cellType).Editable = false;

            ((ComboBoxCellType)cellType).Items = sComboStr.Split('\t');

            sprSpread.Columns[Col.ToInt()].CellType = cellType;

        }

 

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

댓글목록

등록된 댓글이 없습니다.

2 답변

WinForms윈폼 Re: ComboboxCellType 클릭시 스크롤이 아래로 이동되어 있는 문제

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

페이지 정보

작성자 GCK써니 작성일 2023-10-31 11:51 댓글 0건

본문

김동현 님, 안녕하세요.

그레이프시티입니다.


사용하신 코드 샘플과 실행 화면을 공유해주심에 감사드립니다.


혹시 string sComboStr에 전달되는 문자열 끝에 탭 구분자만 들어있지는 않은가요?


전달해주신 코드를 사용하여 테스트 해보았을 때, sComboStr이 아래 샘플 코드의 1번과 같을 때 말씀하신 것과 동일한 현상이 재현되었습니다. 반면 sComboStr이 2번 문자열과 같을 때에는 VB 화면에서와 같이 콤보박스 리스트의 제일 상단에서부터 보여집니다.

private void Form1_Load(object sender, EventArgs e)
{
    // 1번 문자열. 이슈 현상 재현 가능
    string sComboStr = "Opt1\tOpt2\tOpt3\tOpt4\tOpt5\tOpt6\tOpt7\tOpt8\tOpt9\tOpt10\tOpt11\t\t";
            
    // 2번 문자열. 이슈 현상 재현 안됨.
    //string sComboStr = "Opt1\tOpt2\tOpt3\tOpt4\tOpt5\tOpt6\tOpt7\tOpt8\tOpt9\tOpt10\tOpt11";

    // FillCodeCombo1 메서드 호출
    gSpread_FillCodeCombo1(fpSpread1.ActiveSheet, 0, null, sComboStr, null);
}

// object Col을 int ColumnIndex로 변경하여 사용
// Col.ToInt()를 ColumnIndex로 변경하여 사용
public static void gSpread_FillCodeCombo1(FarPoint.Win.Spread.SheetView sprSpread, int ColumnIndex, object sCode, string sComboStr, object lscode)
{
    int lTmp;
    int lMax;
    string schk;
    int lcode; // null

    schk = "";
    FarPoint.Win.Spread.CellType.ICellType cellType = new FarPoint.Win.Spread.CellType.ComboBoxCellType();

    ((FarPoint.Win.Spread.CellType.ComboBoxCellType)cellType).Editable = false;
    ((FarPoint.Win.Spread.CellType.ComboBoxCellType)cellType).Items = sComboStr.Split('\t');
    sprSpread.Columns[ColumnIndex].CellType = cellType;
}


따라서, sComboStr에 전달되는 문자열 끝이 탭 구분자로 끝나는 것은 아닌지 확인해보시기 바랍니다.
 

감사합니다.
그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: ComboboxCellType 클릭시 스크롤이 아래로 이동되어 있는 문제

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

페이지 정보

작성자 쌍둥이아빠 작성일 2023-11-13 21:38 댓글 0건

본문

첨부파일

 string Query;


try

{

    FarPoint.Win.Spread.CellType.ComboBoxCellType cb = new FarPoint.Win.Spread.CellType.ComboBoxCellType();


    //---------------------------------------------------------------------------------------

    // 은행

    //---------------------------------------------------------------------------------------

    @Query = "SELECT  은행코드"

            + "    ,  은행명"

            + " FROM TB_은행 WITH (NOLOCK)"

            + " ORDER BY 은행코드 ASC";


    Hashtable myOutHashtable = new Hashtable();


    Awesome.BusinessService.Store myMarket = new Awesome.BusinessService.Store();

    DataSet myDataSet = myMarket.SelectQuery(Query, myOutHashtable);


    string[] items = new string[myDataSet.Tables[0].Rows.Count];

    string[] itemdata = new string[myDataSet.Tables[0].Rows.Count];


    for (int i = 0; i < myDataSet.Tables[0].Rows.Count; i++)

    {

        items[i] = myDataSet.Tables[0].Rows[i]["은행명"].ToString();

        itemdata[i] = myDataSet.Tables[0].Rows[i]["은행코드"].ToString();

    }


    cb.Items = items;

    cb.ItemData = itemdata;

    cb.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.ItemData;


    sprGrid.Sheets[0].Columns[xCol].CellType = cb;

}

catch (Exception ex)

{

    MessageBox.Show(ex.Message, "확인", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}


참고가 되었으면 합니다...

댓글목록

등록된 댓글이 없습니다.

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