/// <summary> /// 绑定字典信息 /// </summary> /// <param name="dictName">字典名称</param> private void BindDictionaryData(string dictName) { try { JDictionary dict = _dbDicModel.GetDictionary(dictName); if (dict == null) { //重新绑定字典信息时,如果没有内容,需要将gridlist的内容清除,避免界面显示内容错误 gridlist = new List <JDictionaryItem>(); dgvDictionary.DataSource = new List <JDictionaryItem>(); return; } //使用list绑定数据源时,不能设置为null,否则会影响列结构 gridlist = dict.项目内容 as List <JDictionaryItem>; BindingList <JDictionaryItem> list = new BindingList <JDictionaryItem>(gridlist); dgvDictionary.DataSource = list; dgvDictionary.Columns["项目说明"].Visible = false; dgvDictionary.Columns["创建日期"].Visible = false; //this.dgvDictionary.ClearSelection(); } catch (Exception ex) { MsgBox.ShowException(ex, this); gridlist = new List <JDictionaryItem>(); } }
/// <summary> /// 绑定院区 /// </summary> private void BindHSP() { //不是有clear()方法清空下拉框,点刷新会提示:设置 DataSource 属性后无法修改项集合错误。 cbxHspCode.DataSource = null; //获取对应字典内容 JDictionary hspAreaDict = _dmm.GetDictionary("院区"); if (hspAreaDict == null) { return; } List <ItemBind> listBind = new List <ItemBind>(); foreach (JDictionaryItem dictInfo in hspAreaDict.项目内容) { ItemBind lb = new ItemBind(dictInfo.项目编码 + "-" + dictInfo.项目名称, dictInfo.项目编码); listBind.Add(lb); } cbxHspCode.DisplayMember = "Name"; cbxHspCode.ValueMember = "Value"; cbxHspCode.DataSource = listBind; }
/// <summary> /// 设置下拉框项目为字典项目 /// </summary> /// <param name="cbx">下拉框控件</param> /// <param name="sDictionary">字典名称</param> /// <param name="bNull">是否插入空项目</param> public void BindDictionary(ComboBox cbx, string sDictionary, bool bNull) { DictManageModel _dictManageModel = new DictManageModel(_dbHelper); JDictionary dict = _dictManageModel.GetDictionary(sDictionary); string sDefault = "";//加载后设置缺省项目 //绑定前,先清空 cbx.Items.Clear(); if (bNull) { cbx.Items.Add(""); } //没有字典内容,添加固定项目 if (dict == null) { if (sDictionary == "性别") { cbx.Items.Add("男"); cbx.Items.Add("女"); cbx.Items.Add("未知"); cbx.Items.Add("未明"); cbx.Items.Add("女变男"); cbx.Items.Add("男变女"); } } else { //性别下拉框要显示一个空选项,选择循环加入,不使用绑定 foreach (JDictionaryItem item in dict.项目内容) { cbx.Items.Add(item.项目名称); if (item.缺省 == true) { sDefault = item.项目名称; } } cbx.Text = sDefault; } }