1.获取数据源(select * from table名称)
2.动态绑定数据源
1 private void GetTableInfo(DataTable dt) 2 { 3 listBh = new List<BH_DICTInfo>(); 4 foreach (DataRow dr in dt.Rows) 5 { 6 BH_DICTInfo model = new BH_DICTInfo(); 7 model.DictId = dr["DICT_ID"].ToString(); 8 model.DictName = dr["DICT_NAME"].ToString(); 9 model.DictType = dr["DICT_TYPE"].ToString(); 10 model.Enable = Convert.ToDecimal(dr["ENABLE"].ToString()); 11 model.Orders = Convert.ToDecimal(dr["ORDERS"].ToString()); 12 model.Remark = dr["REMARK"].ToString(); 13 listBh.Add(model); 14 } 15 dgvBh.DataSource = listBh; 16 //清除上次数据源 17 this.dgvBh.Columns.Clear(); 18 //属性时是否自动创建列 19 dgvBh.AutoGenerateColumns = false; 20 21 DisplayCol(dgvBh, "DictId", "字典编号"); 22 DisplayCol(dgvBh, "DictName", "字典名称"); 23 DisplayCol(dgvBh, "DictType", "字典类型"); 24 DisplayCol(dgvBh, "Orders", "字典名称"); 25 DisplayCol(dgvBh, "Enable", "是否可用"); 26 DisplayCol(dgvBh, "Remark", "备注"); 27 DisplayCol(dgvBh, "Checkbox", "删除"); 28 //this.dgvBh.DataMember = "DictName,DictType,Orders,Enable,Remark"; 29 this.dgvBh.Columns[0].Visible = false; 30 } 31 /// <summary> 32 /// 添加列表头 33 /// </summary> 34 /// <param name="dgv"></param> 35 /// <param name="dataPropertyName"></param> 36 /// <param name="headerText"></param> 37 void DisplayCol(DataGridView dgv, string dataPropertyName, string headerText) 38 { 39 //dgv.Columns[dataPropertyName].Width = 100; 40 if (dataPropertyName == "Checkbox") 41 { 42 DataGridViewCheckBoxColumn ck = new DataGridViewCheckBoxColumn(); 43 ck.DataPropertyName = dataPropertyName; 44 ck.HeaderText = headerText; 45 ck.Name = dataPropertyName; 46 dgv.Columns.AddRange(new DataGridViewColumn[] { ck }); 47 } 48 else 49 { 50 DataGridViewTextBoxColumn obj = new DataGridViewTextBoxColumn(); 51 obj.DataPropertyName = dataPropertyName; 52 obj.HeaderText = headerText; 53 obj.Name = dataPropertyName; 54 obj.Resizable = DataGridViewTriState.True; 55 obj.ReadOnly = true; 56 dgv.Columns.AddRange(new DataGridViewColumn[] { obj }); 57 } 58 }