EMDI는 지금도 개발중

C# : LookUpEdit SelectIndex=0 첫 번째 Row 선택하기 본문

언어/C#

C# : LookUpEdit SelectIndex=0 첫 번째 Row 선택하기

EMDI 2021. 3. 3. 11:27
private void set콤보박스()
{
    DataTable dt조회데이터 = null;

    // 콤보박스는 key, value 형식으로 column을 생성하였습니다.
    DataTable dt콤보박스 = new DataTable();
    DataHelper.DataTable_AddColumn(dt콤보박스, "key", "");
    DataHelper.DataTable_AddColumn(dt콤보박스, "value", "");

    DataRow dr = dt콤보박스.NewRow();
    dr["value"] = string.Empty;
    dr["key"] = "- 전체 -";
    dt콤보박스.Rows.Add(dr);

    // 만약 DB상에서 가져온 조회 데이터를 넣고 싶은 경우
    if (dt조회데이터 == null)
    {
        return;
    }

    for (int i = 0; i < dt조회데이터.Rows.Count; i++)
    {
        dr = dt콤보박스.NewRow();
        dr["value"] = dt조회데이터.Rows[i]["value"];
        dr["key"] = dt조회데이터.Rows[i]["key"];
        dt콤보박스.Rows.Add(dr);
    }

    cbo콤보박스.Properties.DataSource = dt콤보박스;
    cbo콤보박스.Properties.ValueMember = "value";
    cbo콤보박스.Properties.DisplayMember = "key";
    cbo콤보박스.Properties.DropDownRows = dt콤보박스.Rows.Count + 1; // 해당 코드를 안넣으면 스크롤 생김
    cbo콤보박스.ItemIndex = 0; // 제일 첫번째 row로 보여줌
}

LookUpEdit에는 SelectIndex 옵션이 아닌 ItemIndex를 사용해야 합니다. 또한 해당 메소드는 생성자 안에 넣지 않고 Form_Load()와 같은 폼 로드 메소드에 넣어야 정상적으로 selectIndex = 0이 되는 것을 확인할 수 있습니다.

Comments