Beispiel #1
0
        protected override void OnDataBinding(EventArgs e)
        {
            ROYcms.Sys.BLL.ROYcms_class ___ROYcms_class = new ROYcms.Sys.BLL.ROYcms_class();
            if (ClassKind != null)
            {
                if (Div != 00)
                {
                    dataSource = (IList)(new DataView(((DataSet)(___ROYcms_class.GetClassList(Convert.ToInt32(ClassKind), Div))).Tables[0]));
                }
                else
                {
                    dataSource = (IList)(new DataView(((DataSet)(___ROYcms_class.GetClassList(Convert.ToInt32(ClassKind)))).Tables[0]));
                }
            }
            if (Class != null)
            {
                dataSource = (IList)(new DataView(((DataSet)(___ROYcms_class.GetSubClassList(___ROYcms_class.GetClassId(Convert.ToInt32(Class))))).Tables[0]));
            }
            if (Path != null)
            {
                dataSource = (IList)(new DataView(((DataSet)(___ROYcms_class.GetSubClassList(___ROYcms_class.GetClassId(Convert.ToInt32(___ROYcms_class.GetId("{cmspath}/" + Path + "/")))))).Tables[0]));
            }
            //if (base.DataSource != null)
            //{
            intItemCount    = dataSource.Count;
            base.DataSource = dataSource;

            base.OnDataBinding(e);
            //}
        }
Beispiel #2
0
        ///// <summary>
        ///// loop标签的匹配替换
        ///// </summary>
        ///// <param name="template">模板内容</param>
        public string LoopClass(string template)
        {
            string Attributes = "";
            string Text       = "";
            string AllText    = "";
            Regex  r          = new Regex(@"(\[SG:class\s+(?<attributes>[^\]]*?)\](?<text>[\s\S]*?)\[/SG:class\])", RegexOptions.Compiled | RegexOptions.IgnoreCase);

            foreach (Match m in r.Matches(template))
            {
                Attributes = m.Groups["attributes"].ToString(); //循环属性集
                Text       = m.Groups["text"].ToString();       //循环的内容不包含SG:Loop
                AllText    = m.Groups[0].Value.ToString();      //整个匹配的内容包含SG:Loop

                #region  取得相关属性
                string Count   = null;   //调用数量
                string classID = null;
                string Templet = null;   // 模板ID

                Templet = TagVal(Attributes, "Templet");
                Count   = TagVal(Attributes, "Count");

                classID = TagVal(Attributes, "classID");

                #endregion

                #region 对循环的内容进行替换
                string content = "";
                ROYcms.Sys.BLL.ROYcms_class bll = new ROYcms.Sys.BLL.ROYcms_class();
                DataSet dt = bll.GetClassList(0);
                if (classID != null)
                {
                    dt = bll.GetSubClassList(bll.GetClassId(Convert.ToInt32(classID)));
                }
                if (dt.Tables[0].Rows.Count > 0)
                {
                    int rowsCount = dt.Tables[0].Rows.Count;
                    if (Count != null && rowsCount > Convert.ToInt32(Count))
                    {
                        rowsCount = Convert.ToInt32(Count);
                    }
                    for (int n = 0; n < rowsCount; n++)
                    {
                        string str = Text;
                        str      = Replace(str, @"\[SG:ClassName\]", dt.Tables[0].Rows[n]["ClassName"].ToString());
                        str      = Replace(str, @"\[SG:Link\]", config.web_host + TemplateZone.Zpath(this.pageHost) + "list" + Templet + "-" + dt.Tables[0].Rows[n]["Id"].ToString() + config.web_forge);
                        str      = Replace(str, @"\[SG:_Link\]", "list-" + dt.Tables[0].Rows[n]["Id"].ToString() + config.web_forge);
                        content += str;
                    }
                }
                else
                {
                    content = "";
                }
                #endregion
                template = template.Replace(AllText, content);
            }
            return(template);
        }
Beispiel #3
0
        /// <summary>
        /// WebRepeater拼接
        /// </summary>
        /// <param name="MYclass"></param>
        /// <returns></returns>
        public string ClassWheres(string MYclass)
        {
            string Strs = null;

            DataSet DS = ROYcms_classBll.GetSubClassList(ROYcms_classBll.GetClassId(Convert.ToInt32(MYclass)));

            DataTable dt = DS.Tables[0];

            //遍历行
            if (dt.Rows.Count < 1)
            {
                Strs = MYclass + ",";
            }
            else
            {
                foreach (DataRow dr in dt.Rows)
                {
                    Strs += dr["Id"].ToString() + ",";
                }
            }
            Strs = Strs.Substring(0, Strs.Length - 1);
            return(Strs);
        }
Beispiel #4
0
        public string ClassWheres()
        {
            string Strs = null;

            ROYcms.Sys.BLL.ROYcms_class Bll = new ROYcms.Sys.BLL.ROYcms_class();
            DataSet DS = Bll.GetSubClassList(Bll.GetClassId(Convert.ToInt32(this.Type)));

            DataTable dt = DS.Tables[0];

            //遍历行
            if (dt.Rows.Count < 1)
            {
                Strs = this.Type + ",";
            }
            else
            {
                foreach (DataRow dr in dt.Rows)
                {
                    Strs += dr["Id"].ToString() + ",";
                }
            }
            Strs = Strs.Substring(0, Strs.Length - 1);
            return(Strs);
        }