コード例 #1
0
        //保存扩展属性
        private void SaveExts(Base_Catalog cat, NameValueCollection form)
        {
            cat.Exts.Clear();
            var ids           = form["ExtId"].Split(',');
            var names         = form["ExtName"].Split(',');
            var defaultValues = form["DefaultValue"].Split(',');
            var dataTypes     = form["DataType"].Split(',');
            var maxLengths    = form["MaxLength"].Split(',');
            //var allownulls = form["AllowNull"].Split(',');
            var states          = form["ExtState"].Split(',');
            var dataSourceTypes = form["DataSourceType"].Split(',');
            var dataSources     = form["DataSource"].Split(',');

            for (int i = 1; i < names.Length; i++)
            {
                if (!string.IsNullOrEmpty(names[i]))
                {
                    Base_CatalogExt ext = new Base_CatalogExt
                    {
                        Id           = CommOp.ToInt(ids[i]),
                        CatalogId    = cat.Id,
                        Name         = names[i],
                        DefaultValue = defaultValues[i],
                        DataType     = CommOp.ToEnum <ExtDataType>(dataTypes[i]),
                        State        = states[i] == "" ? ArticleState.Published : CommOp.ToInt(states[i]),
                        Ord          = i,
                        //AllowNull = CommOp.ToBool(allownulls[i] == "on" ? true : false),
                        MaxLength      = CommOp.ToInt(maxLengths[i]),
                        DataSourceType = CommOp.ToEnum <ExtDataSourceType>(dataSourceTypes[i]),
                        DataSource     = dataSources[i]
                    };
                    cat.Exts.Add(ext);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// 根据sql语句返回下拉列表所需数据
        /// </summary>
        /// <param name="catExt"></param>
        /// <returns></returns>
        public static IEnumerable <SelectListItem> GetSqlList(this Base_CatalogExt catExt)
        {
            string sql               = catExt.DataSource;
            var    dbHelper          = SiteManager.Get <DBHelper>();
            List <IDataParameter> ps = new List <IDataParameter>();

            if (sql.Contains("@UserId"))
            {
                ps.Add(dbHelper.CreateParameter("@UserId", AppManager.Instance.GetCurrentUserId()));
            }
            DataTable dt       = dbHelper.ExecDataTable(sql, ps.ToArray());
            int       valIndex = dt.Columns.Count > 0 ? 1 : 0;
            var       items    = dt.Rows.Cast <DataRow>()
                                 .Select(dr => new SelectListItem
            {
                Text  = CommOp.ToStr(dr[0]),
                Value = CommOp.ToStr(dr[valIndex])
            });

            return(items);
        }
コード例 #3
0
        /// <summary>
        /// 根据栏目扩展属性生成下拉列表项
        /// </summary>
        /// <param name="catExt"></param>
        /// <returns></returns>
        public static IEnumerable <SelectListItem> GetSelectList(this Base_CatalogExt catExt)
        {
            var datas = catExt.DataSource.Split(';').ToList();
            var items = datas.Select(d =>
            {
                var txts = d.Split('=');
                var txt  = txts[0];
                var val  = txt;
                if (txts.Length > 1)
                {
                    val = txts[1];
                }
                return(new SelectListItem
                {
                    Text = txt,
                    Value = val
                });
            });

            return(items);
        }