Beispiel #1
0
        private void RenderItemTemplate(HtmlTextWriter writer, string value, object dataItem, int index, bool isSelected)
        {
            DataItemContainer <ComboBox> container;

            if (this.RenderMode == ComboBoxRenderMode.Classic)
            {
                container = new DataItemContainer <ComboBox>(this, dataItem, index, "option");
                container.SetAttributeValue("value", value);

                if (isSelected)
                {
                    container.SetAttributeValue("selected", "selected");
                }
            }
            else
            {
                container = new DataItemContainer <ComboBox>(this, dataItem, index, "dt", "item");
                container.SetAttributeValue("data-value", value);

                if (isSelected)
                {
                    container.SetAttributeValue("data-selected", "selected");
                    container.CssClass = "active selected item";
                }
            }

            _itemTemplate.InstantiateIn(container);
            container.RenderControl(writer);
        }
Beispiel #2
0
        protected override void RenderContent(HtmlTextWriter writer)
        {
            if (_emptyTemplate == null && _itemTemplate == null)
            {
                return;
            }

            if (this.DataSource == null)
            {
                if (_emptyTemplate == null)
                {
                    return;
                }

                _emptyTemplate.InstantiateIn(this);
            }
            else
            {
                if (_itemTemplate == null)
                {
                    return;
                }

                var dataItems = this.DataSource as IEnumerable;

                if (dataItems == null || this.DataSource.GetType() == typeof(string))
                {
                    _itemTemplate.InstantiateIn(this);
                }
                else
                {
                    int index = 0;

                    foreach (var dataItem in dataItems)
                    {
                        var container = new DataItemContainer <InputGroup>(this, dataItem, index++);
                        _itemTemplate.InstantiateIn(container);
                        this.Controls.Add(container);
                    }
                }
            }

            base.RenderContent(writer);
        }
Beispiel #3
0
        protected virtual void RenderItem(HtmlTextWriter writer, DataItemContainer <ListView> item)
        {
            switch (this.RenderMode)
            {
            case ListRenderMode.List:
                item.TagName = "dt";
                break;

            case ListRenderMode.BulletList:
            case ListRenderMode.OrderedList:
                item.TagName = "li";
                break;
            }

            if (_itemTemplate != null)
            {
                _itemTemplate.InstantiateIn(item);
            }

            item.RenderControl(writer);
        }
Beispiel #4
0
        protected override void RenderContent(HtmlTextWriter writer)
        {
            if (Utility.IsEmptyCollection(this.DataSource))
            {
                if (_emptyTemplate != null)
                {
                    using (var literal = new Literal())
                    {
                        _emptyTemplate.InstantiateIn(literal);
                        literal.RenderControl(writer);
                    }
                }

                return;
            }

            IEnumerable dataItems = this.DataSource as IEnumerable;

            if (dataItems == null || dataItems.GetType() == typeof(string))
            {
                var item = new DataItemContainer <ListView>(this, this.DataSource, 0);
                this.RenderItem(writer, item);
            }
            else
            {
                int index = 0;

                foreach (var dataItem in dataItems)
                {
                    FormExtension.PushDataItem(this.Page, dataItem, index);

                    var item = new DataItemContainer <ListView>(this, dataItem, index++);
                    this.RenderItem(writer, item);

                    FormExtension.PopDataItem(this.Page);
                }
            }
        }