develop

c# devExpress LookUpEditor 바인딩 윈폼.

파드파드 2023. 11. 13. 11:31
반응형

c# 윈폼에서 devExpress LookUpEditor 컨트롤 바인딩. 

 

public static void BindLookUpEdit(this LookUpEdit lue, DataTable dt
            , string text 
            , string value         
            , bool isTop = false
            , string allNm = "전체"
            )
        {
            lue.Properties.DataSource = null;

            DataTable dtC = dt.Copy();

            if (isTop)
            {
                DataRow dr = dtC.NewRow();
                dr[value] = string.Empty;
                dr[text] = allNm;
                
				dtC.Rows.InsertAt(dr, 0);
                dtC.AcceptChanges();
            }

            //데이터 바인딩
            lue.Properties.DisplayMember = text;
            lue.Properties.ValueMember = value;
            lue.Properties.DataSource = dtC;
            
             lue.EditValue = dtC.Rows[0][value];
            lue.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;

            //컬럼 셋팅
            lue.Properties.Columns.Clear();
            lue.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo(value, value, 50));
            lue.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo(text, text, 150));

            //lue.Properties.BestFit();


            //드랍다운 팝업 넓이            
            int width = 0;
            foreach (DevExpress.XtraEditors.Controls.LookUpColumnInfo column in lue.Properties.Columns)
                width += column.Width;
            lue.Properties.PopupWidth = width + 11;


            //헤더, 풋터 Visible, 드랍다운 데이타 높이
            lue.Properties.ShowFooter = true;
            lue.Properties.ShowHeader = false;
            lue.Properties.DropDownRows = dtC.Rows.Count;
        }

출처: https://simplain.tistory.com/?page=3 [외부기억 外部記憶 External Memories:티스토리]

반응형