1. 程式人生 > >C#手動繫結ComboBox方法

C#手動繫結ComboBox方法

一般手動新增 ComboBox 資料有很多種方法,可以直接新增 Item,也可以通過資料繫結 Value 和 Display。
直接新增 Item 無法設定下拉框的值,所以我使用繫結 ComboBox 資料來源的 Datatble 方式

直接通過二維陣列 String 自動轉換繫結到 ComboBox

 // 呼叫方法
            string[][] Sort_arr = new string[2][];
            Sort_arr[0] = new string[] {"0","1","2" };
            Sort_arr[1] = new string[] { "綜合排序" , "銷量排序", "新品排序" };
            StrArrToCbx(Sort_arr,CbxSort);//  傳入陣列和例項化的ComboBox即可自動完成繫結


繫結方法

 public void StrArrToCbx(string[][] strArr,ComboBox combo,string str1="id",string str2="name")
        {
            DataTable dt_inner = new DataTable();
            dt_inner.Columns.Add(new DataColumn(str1));
            dt_inner.Columns.Add(new DataColumn(str2));
            if (strArr.Length > 0)
            {
                for (int d = 0; d < strArr[0].Length; d++)
                {
                    DataRow dr_inner = dt_inner.NewRow();
                    dr_inner[str1] = strArr[0][d];
                    dr_inner[str2] = strArr[1][d];
                    dt_inner.Rows.Add(dr_inner);
                }
            }
            combo.DataSource = dt_inner;
            combo.ValueMember = str1;
            combo.DisplayMember = str2;
            combo.SelectedIndex = 0;
            //return dt_inner;
        }