Exemplo n.º 1
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            _tableStyleId      = Body.GetQueryInt("TableStyleID");
            _relatedIdentities = TranslateUtils.StringCollectionToIntList(Body.GetQueryString("RelatedIdentities"));
            if (_relatedIdentities.Count == 0)
            {
                _relatedIdentities.Add(0);
            }
            _tableName     = Body.GetQueryString("TableName");
            _attributeName = Body.GetQueryString("AttributeName");
            _tableStyle    = ETableStyleUtils.GetEnumType(Body.GetQueryString("TableStyle"));
            _redirectUrl   = StringUtils.ValueFromUrl(Body.GetQueryString("RedirectUrl"));

            _styleInfo = _tableStyleId != 0 ? BaiRongDataProvider.TableStyleDao.GetTableStyleInfo(_tableStyleId) : TableStyleManager.GetTableStyleInfo(_tableStyle, _tableName, _attributeName, _relatedIdentities);

            if (!IsPostBack)
            {
                RblIsVisible.Items[0].Value = true.ToString();
                RblIsVisible.Items[1].Value = false.ToString();

                RblIsSingleLine.Items[0].Value = true.ToString();
                RblIsSingleLine.Items[1].Value = false.ToString();

                RblIsFormatString.Items[0].Value = true.ToString();
                RblIsFormatString.Items[1].Value = false.ToString();

                DdlIsHorizontal.Items[0].Value = true.ToString();
                DdlIsHorizontal.Items[1].Value = false.ToString();

                EInputTypeUtils.AddListItems(DdlInputType);

                var arraylist = DataProvider.RelatedFieldDao.GetRelatedFieldInfoArrayList(PublishmentSystemId);
                foreach (RelatedFieldInfo rfInfo in arraylist)
                {
                    var listItem = new ListItem(rfInfo.RelatedFieldName, rfInfo.RelatedFieldID.ToString());
                    DdlRelatedFieldId.Items.Add(listItem);
                }

                ERelatedFieldStyleUtils.AddListItems(DdlRelatedFieldStyle);

                if (_styleInfo.TableStyleId != 0 || _attributeName == "IsHot" || _attributeName == "IsRecommend" || _attributeName == "IsColor" || _attributeName == "IsTop")
                {
                    DdlItemType.SelectedValue = false.ToString();
                }
                else
                {
                    DdlItemType.SelectedValue = true.ToString();
                }

                TbAttributeName.Text = _styleInfo.AttributeName;
                TbDisplayName.Text   = _styleInfo.DisplayName;
                TbHelpText.Text      = _styleInfo.HelpText;
                ControlUtils.SelectListItems(DdlInputType, _styleInfo.InputType);
                ControlUtils.SelectListItems(RblIsVisible, _styleInfo.IsVisible.ToString());
                ControlUtils.SelectListItems(RblIsSingleLine, _styleInfo.IsSingleLine.ToString());
                ControlUtils.SelectListItems(RblIsFormatString, _styleInfo.Additional.IsFormatString.ToString());
                TbDefaultValue.Text           = _styleInfo.DefaultValue;
                DdlIsHorizontal.SelectedValue = _styleInfo.IsHorizontal.ToString();
                TbColumns.Text = _styleInfo.Additional.Columns.ToString();

                ControlUtils.SelectListItems(DdlRelatedFieldId, _styleInfo.Additional.RelatedFieldId.ToString());
                ControlUtils.SelectListItems(DdlRelatedFieldStyle, _styleInfo.Additional.RelatedFieldStyle);

                TbHeight.Text = _styleInfo.Additional.Height.ToString();
                TbWidth.Text  = _styleInfo.Additional.Width;

                var styleItems = _styleInfo.StyleItems ?? BaiRongDataProvider.TableStyleDao.GetStyleItemInfoList(_styleInfo.TableStyleId);
                TbItemCount.Text        = styleItems.Count.ToString();
                RptItems.DataSource     = TableStyleManager.GetStyleItemDataSet(styleItems.Count, styleItems);
                RptItems.ItemDataBound += MyRepeater_ItemDataBound;
                RptItems.DataBind();
                if (RptItems.Items.Count > 0)
                {
                    DdlItemType.SelectedValue = false.ToString();
                }
            }

            ReFresh(null, EventArgs.Empty);
        }
Exemplo n.º 2
0
        private static string ParseSelectCascading(IAttributes attributes, SiteInfo siteInfo, TableStyleInfo styleInfo, StringBuilder extraBuilder)
        {
            var attributeName = styleInfo.AttributeName;
            var fieldInfo     = DataProvider.RelatedFieldDao.GetRelatedFieldInfo(styleInfo.Additional.RelatedFieldId);

            if (fieldInfo == null)
            {
                return(string.Empty);
            }

            var list = DataProvider.RelatedFieldItemDao.GetRelatedFieldItemInfoList(styleInfo.Additional.RelatedFieldId, 0);

            var prefixes = TranslateUtils.StringCollectionToStringCollection(fieldInfo.Prefixes);
            var suffixes = TranslateUtils.StringCollectionToStringCollection(fieldInfo.Suffixes);

            var style = ERelatedFieldStyleUtils.GetEnumType(styleInfo.Additional.RelatedFieldStyle);

            var builder = new StringBuilder();

            builder.Append($@"
<span id=""c_{attributeName}_1"">
    {prefixes[0]}
    <select name=""{attributeName}"" id=""{attributeName}_1"" class=""select"" onchange=""getRelatedField_{fieldInfo.Id}(2);"">
        <option value="""">请选择</option>");

            var values = attributes.GetString(attributeName);
            var value  = string.Empty;

            if (!string.IsNullOrEmpty(values))
            {
                value = values.Split(',')[0];
            }

            var isLoad = false;

            foreach (var itemInfo in list)
            {
                var selected = !string.IsNullOrEmpty(itemInfo.ItemValue) && value == itemInfo.ItemValue ? @" selected=""selected""" : string.Empty;
                if (!string.IsNullOrEmpty(selected))
                {
                    isLoad = true;
                }
                builder.Append($@"
	<option value=""{itemInfo.ItemValue}"" itemID=""{itemInfo.Id}""{selected}>{itemInfo.ItemName}</option>"    );
            }

            builder.Append($@"
</select>{suffixes[0]}</span>");

            if (fieldInfo.TotalLevel > 1)
            {
                for (var i = 2; i <= fieldInfo.TotalLevel; i++)
                {
                    builder.Append($@"<span id=""c_{attributeName}_{i}"" style=""display:none"">");
                    builder.Append(style == ERelatedFieldStyle.Virtical ? @"<br />" : "&nbsp;");
                    builder.Append($@"
{prefixes[i - 1]}
<select name=""{attributeName}"" id=""{attributeName}_{i}"" class=""select"" onchange=""getRelatedField_{fieldInfo.Id}({i} + 1);""></select>
{suffixes[i - 1]}
</span>
");
                }
            }

            extraBuilder.Append($@"
<script>
function getRelatedField_{fieldInfo.Id}(level){{
    var attributeName = '{styleInfo.AttributeName}';
    var totalLevel = {fieldInfo.TotalLevel};
    for(i=level;i<=totalLevel;i++){{
        $('#c_' + attributeName + '_' + i).hide();
    }}
    var obj = $('#c_' + attributeName + '_' + (level - 1));
    var itemID = $('option:selected', obj).attr('itemID');
    if (itemID){{
        var url = '{ApiRouteActionsRelatedField.GetUrl(ApiManager.InnerApiUrl, siteInfo.Id,
                styleInfo.Additional.RelatedFieldId, 0)}' + itemID;
        var values = '{values}';
        var value = (values) ? values.split(',')[level - 1] : '';
        $.post(url + '&callback=?', '', function(data, textStatus){{
            var $sel = $('#' + attributeName + '_' + level);
            $('option', $sel).each(function(){{
	            $(this).remove();
            }})
            $sel.append('<option value="""">请选择</option>');
            var show = false;
            var isLoad = false;
            $.each(data, function(i, item){{
                show = true;
                var selected = '';
                if (value == item.value){{
                    isLoad = true;
                    selected = ' selected=""selected""'
                }}
                $opt = $('<option value=""' + item.value + '"" itemID=""' + item.id + '""' + selected + '>' + item.name + '</option>');
                $opt.appendTo($sel);
            }});
            if (show) $('#c_' + attributeName + '_' + level).show();
            if (isLoad && level <= totalLevel){{
                getRelatedField_{fieldInfo.Id}(level + 1);
            }}
        }}, 'jsonp');
    }}
}}
");

            if (isLoad)
            {
                extraBuilder.Append($@"
$(document).ready(function(){{
    getRelatedField_{fieldInfo.Id}(2);
}});
");
            }

            extraBuilder.Append("</script>");

            return(builder.ToString());
        }
Exemplo n.º 3
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            _tableStyleId      = AuthRequest.GetQueryInt("TableStyleID");
            _relatedIdentities = TranslateUtils.StringCollectionToIntList(AuthRequest.GetQueryString("RelatedIdentities"));
            if (_relatedIdentities.Count == 0)
            {
                _relatedIdentities.Add(0);
            }
            _tableName     = AuthRequest.GetQueryString("TableName");
            _attributeName = AuthRequest.GetQueryString("AttributeName");
            _redirectUrl   = StringUtils.ValueFromUrl(AuthRequest.GetQueryString("RedirectUrl"));

            _styleInfo = _tableStyleId != 0 ? DataProvider.TableStyleDao.GetTableStyleInfo(_tableStyleId) : TableStyleManager.GetTableStyleInfo(_tableName, _attributeName, _relatedIdentities);

            if (IsPostBack)
            {
                return;
            }

            InputTypeUtils.AddListItems(DdlInputType);

            var relatedFieldInfoList = DataProvider.RelatedFieldDao.GetRelatedFieldInfoList(SiteId);

            foreach (var rfInfo in relatedFieldInfoList)
            {
                var listItem = new ListItem(rfInfo.Title, rfInfo.Id.ToString());
                DdlRelatedFieldId.Items.Add(listItem);
            }

            ERelatedFieldStyleUtils.AddListItems(DdlRelatedFieldStyle);

            ControlUtils.SelectSingleItem(DdlIsRapid, _styleInfo.Id != 0 ? false.ToString() : true.ToString());

            TbAttributeName.Text = _styleInfo.AttributeName;
            TbDisplayName.Text   = _styleInfo.DisplayName;
            TbHelpText.Text      = _styleInfo.HelpText;
            ControlUtils.SelectSingleItem(DdlInputType, _styleInfo.InputType.Value);
            TbTaxis.Text = _styleInfo.Taxis.ToString();
            ControlUtils.SelectSingleItem(DdlIsFormatString, _styleInfo.Additional.IsFormatString.ToString());
            TbDefaultValue.Text           = _styleInfo.DefaultValue;
            DdlIsHorizontal.SelectedValue = _styleInfo.IsHorizontal.ToString();
            TbColumns.Text = _styleInfo.Additional.Columns.ToString();

            ControlUtils.SelectSingleItem(DdlRelatedFieldId, _styleInfo.Additional.RelatedFieldId.ToString());
            ControlUtils.SelectSingleItem(DdlRelatedFieldStyle, _styleInfo.Additional.RelatedFieldStyle);

            TbHeight.Text = _styleInfo.Additional.Height == 0 ? string.Empty : _styleInfo.Additional.Height.ToString();
            TbWidth.Text  = _styleInfo.Additional.Width;

            var styleItems = _styleInfo.StyleItems ?? DataProvider.TableStyleItemDao.GetStyleItemInfoList(_styleInfo.Id);

            TbItemCount.Text        = styleItems.Count.ToString();
            RptItems.DataSource     = GetDataSource(styleItems.Count, styleItems);
            RptItems.ItemDataBound += RptItems_ItemDataBound;
            RptItems.DataBind();

            var isSelected  = false;
            var isNotEquals = false;
            var list        = new List <string>();

            foreach (var item in styleItems)
            {
                list.Add(item.ItemValue);
                if (item.IsSelected)
                {
                    isSelected = true;
                }
                if (item.ItemValue != item.ItemTitle)
                {
                    isNotEquals = true;
                }
            }

            DdlIsRapid.SelectedValue = (!isSelected && !isNotEquals).ToString();
            TbRapidValues.Text       = string.Join(",", list);

            TbCustomizeLeft.Text  = _styleInfo.Additional.CustomizeLeft;
            TbCustomizeRight.Text = _styleInfo.Additional.CustomizeRight;

            ReFresh(null, EventArgs.Empty);
        }