1、绑定
/// <summary>
/// 刷新病种分类字典信息
/// </summary>
private void RefushType()
{
//JHSD_DISEASE_DICTlist = Cache.Instance().GetJHSD_DISEASE_DICT_ALL().OrderBy(f=>f.JHSD_TYPE_CODE);
JHSD_DISEASE_DICTlist = Cache.Instance().GetJHSD_DISEASE_DICT_ALL();
typeList = typebll.GetJHSD_DISEASE_DICT_TYPE();
foreach (JHSD_DISEASE_DICT_TYPE dicttype in typeList)
{
GetDiseaseDictType(dicttype);
}
var dictlist = JHSD_DISEASE_DICTlist.FindAll(f => f.JHSD_TYPE_CODE == null);
foreach (JHSD_DISEASE_DICT item in dictlist)
{
GetDiseaseDict(item, null);
}
treeListDiseaseType.ExpandAll();
treeListDiseaseType.BestFitColumns();
//treeListDiseaseType.OptionsBehavior.Editable = false;
}
/// <summary>
/// 添加病种分类node
/// </summary>
/// <param name="type"></param>
private void GetDiseaseDictType(JHSD_DISEASE_DICT_TYPE type)
{
try
{
List<JHSD_DISEASE_DICT> diseasedict = JHSD_DISEASE_DICTlist.FindAll(f => f.JHSD_TYPE_CODE == type.JHSD_TYPE_CODE)
as List<JHSD_DISEASE_DICT>;
DevExpress.XtraTreeList.Nodes.TreeListNode rootnode;
rootnode = this.treeListDiseaseType.AppendNode(new object[] { type.JHSD_TYPE_CODE, type.JHSD_TYPE_NAME, diseasedict.Count }, null);
rootnode.Tag = type;
rootnode.StateImageIndex = 1;
//rootnode.ImageIndex = 1;
foreach (JHSD_DISEASE_DICT JhsdDisease in diseasedict)
{
GetDiseaseDict(JhsdDisease, rootnode);
}
}
catch (Exception ex)
{
JHLog.Log.Writelog("病种分类添加失败!" + ex.Message);
}
}
/// <summary>
/// 添加病种node
/// </summary>
/// <param name="dict"></param>
/// <param name="parentNode"></param>
private void GetDiseaseDict(JHSD_DISEASE_DICT dict, DevExpress.XtraTreeList.Nodes.TreeListNode parentNode)
{
DevExpress.XtraTreeList.Nodes.TreeListNode rootnode;
JHSD_DISEASE_DICT_TYPE dicttype = typeList.FirstOrDefault(f => f.JHSD_TYPE_CODE == dict.JHSD_TYPE_CODE);
int isused = Convert.ToInt32(dict.IS_USED);
if (parentNode == null)
{
rootnode = this.treeListDiseaseType.AppendNode(new object[] { dict.DISEASE_ID, dict.DISEASE_NAME, "", isused }, null);
rootnode.StateImageIndex = 0;
}
else
{
rootnode = this.treeListDiseaseType.AppendNode(new object[] { dict.DISEASE_ID, dict.DISEASE_NAME, "", isused }, parentNode);
rootnode.StateImageIndex = 0;
}
rootnode.Tag = dict;
}
2、拖拽主子节点
/// <summary>
/// 通过拖拽给字典分类
/// 刘亚仙20210812
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeListDiseaseType_DragDrop(object sender, DragEventArgs e)
{
JHSD_DISEASE_DICT_BLL bll = new JHSD_DISEASE_DICT_BLL();
List<JHSD_DISEASE_DICT> diseaselist = new List<JHSD_DISEASE_DICT>();
TreeListNode moveNode = treeListDiseaseType.FocusedNode;
if (moveNode.Tag is JHSD_DISEASE_DICT)
{
JHSD_DISEASE_DICT dictinfo = moveNode.Tag as JHSD_DISEASE_DICT;
TreeListHitInfo hi = treeListDiseaseType.CalcHitInfo(treeListDiseaseType.PointToClient(new Point(e.X, e.Y)));
TreeListNode node = hi.Node;
if (hi.HitInfoType == HitInfoType.Empty || node != null)
{
if (node.Tag is JHSD_DISEASE_DICT_TYPE)
{
JHSD_DISEASE_DICT_TYPE type = node.Tag as JHSD_DISEASE_DICT_TYPE;
dictinfo.JHSD_TYPE_CODE = type.JHSD_TYPE_CODE;
diseaselist.Add(dictinfo);
bll.UpdateJhsd_disease_dict(new List<JHSD_DISEASE_DICT>(diseaselist));
}
}
}
}
3、修改treelist 中node的图片
/// <summary>
/// 修改病种状态是否启用
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void repositoryItemImageComboBox1_EditValueChanged(object sender, EventArgs e)
{
TreeListNode Node = treeListDiseaseType.FocusedNode;
List<JHSD_DISEASE_DICT> diseaselist = new List<JHSD_DISEASE_DICT>();
JHSD_DISEASE_DICT_BLL bll = new JHSD_DISEASE_DICT_BLL();
if (Node.Tag is JHSD_DISEASE_DICT)
{
var ss = sender as DevExpress.XtraEditors.ImageComboBoxEdit;
JHSD_DISEASE_DICT dictinfo = Node.Tag as JHSD_DISEASE_DICT;
dictinfo.IS_USED = Convert.ToInt32(ss.EditValue);
diseaselist.Add(dictinfo);
bll.UpdateJhsd_disease_dict(new List<JHSD_DISEASE_DICT>(diseaselist));
}
}
4、treelist 属性