Ejemplo n.º 1
0
        /// <summary>
        /// 总务科绑定tlMenu数据源
        /// </summary>
        private void GetMissList()
        {
            DataTable dt = new DataTable();

            dt = billMain.BillGetMissList();
            dt.Columns.Add("PARENT_CODE");
            string locationConfig = "2,4,6,8";

            //根据输入码的库位获取该库位的父库位,截取Code的父库位查找是否存在该父库位
            string[] configs   = locationConfig.Split(',');
            int      parentNum = -1; //父库位编码位数

            foreach (DataRow dr in dt.Rows)
            {
                //设置父节点
                for (int i = 0; i < configs.Length; i++)
                {
                    if (configs[i] == dr["PARENTID"].ToString().Length.ToString())
                    {
                        parentNum = i - 1;
                        break;
                    }
                }
                //如果是顶节点
                if (parentNum != -1)
                {
                    string parentCode = dr["PARENTID"].ToString().Substring(0, int.Parse(configs[parentNum]));
                    dr["PARENT_CODE"] = parentCode;
                }
                else
                {
                    dr["PARENT_CODE"] = "-1";
                }
            }

            tlMenu.KeyFieldName    = "PARENTID";    //主键名称
            tlMenu.ParentFieldName = "PARENT_CODE"; //父级ID
            this.tlMenu.DataSource = dt;
            tlMenu.ExpandAll();                     //全部展开
        }