Example #1
0
        /// <summary>
        /// 添加子节点(绑定下级)
        /// </summary>
        /// <param name="region"></param>
        public void AddChild(E_Region region, int regionid)
        {
            region.List = new List <E_Region>();
            E_Region r = null;

            foreach (DataRow row in dt.Select(" parentid=" + region.RegionID))
            {
                r            = new E_Region();
                r.RegionID   = Convert.ToInt32(row["RegionID"]);
                r.RegionName = row["RegionName"].ToString();
                if (r.RegionID == regionid)   //如果当前节点编号==regionid ,则选中该节点
                {
                    r.Selected = " selected=\"selected\"";
                }
                region.List.Add(r);
            }
        }
Example #2
0
        /// <summary>
        /// 数据绑定
        /// </summary>
        private void databind()
        {
            //获取数据源
            dt = new MLMGC.BLL.T_Region().GetList();
            if (dt == null || dt.Rows.Count == 0)
            {
                return;
            }

            //初始化对象
            list = new List <E_Region>();
            E_Region region = null;

            //-----------------------分析绑定数据-------------------------
            //判断是否传值
            int regionid, pid = 0;

            if (!int.TryParse(hfValue.Value, out regionid))
            {
                Jscript.ShowMsg("参数错误", this);
                return;
            }
            //查找父节点编号
            DataRow[] rows = dt.Select(" regionid=" + regionid);
            if (rows.Length == 1)
            {
                pid = Convert.ToInt32(rows[0]["parentid"]);
            }

            //获取所有父节点,绑定显示
            foreach (DataRow row in dt.Select(" parentid=0"))
            {
                region            = new E_Region();
                region.RegionID   = Convert.ToInt32(row["RegionID"]);
                region.RegionName = row["RegionName"].ToString();
                AddChild(region, regionid);
                if (region.RegionID == pid)   //如果当前节点编号==pid ,则选中该节点
                {
                    region.Selected = " selected=\"selected\"";

                    //绑定子级
                    rpSecond.DataSource = region.List;
                    rpSecond.DataBind();
                }
                list.Add(region);
            }
            rpList.DataSource = list;
            rpList.DataBind();



            //-------------------------拼装json字符串----------------------------
            strArray = new StringBuilder("[");
            foreach (DataRow row in dt.Rows)
            {
                strArray.Append("{id:\"" + row["RegionID"] + "\",name:\"" + row["RegionName"] + "\",pid:\"" + row["ParentID"] + "\"},");
            }
            strArray.Remove(strArray.Length - 1, 1);
            strArray.Append("]");
            hfData.Value = strArray.ToString();
            //-------------------------------------------------------------------
        }