public void RenderPageDropDown(TextWriter writer)
        {
            HtmlComposite coldiv = new HtmlComposite("div", new HtmlAttribute("class", "col-xs-3"));

            HtmlComposite rowb1 = coldiv.AppendComposite("div", new HtmlAttribute("class", "row-fluid"));

            HtmlComposite cellb1 = rowb1.AppendComposite("div", new HtmlAttribute("class", "col-xs-6"));

            cellb1.AppendSimple("label", "Page Size", new HtmlAttribute("class", "control-label pull-right"));

            HtmlComposite cellb2 = rowb1.AppendComposite("div", new HtmlAttribute("class", "col-xs-6"));

            HtmlComposite dropdown = cellb2.AppendComposite(
                "select",
                new HtmlAttribute("name", _PageSize.Key),
                new HtmlAttribute("id", _PageSize.Key),
                new HtmlAttribute("class", "form-control changeReload"));

            for (int i = 10; i <= 50; i += 10)
            {
                dropdown.AppendHtmlOption(i, i.ToString(), i == _PageSize.Value);
            }

            coldiv.Write(writer);
        }
        public void RenderSearchBox(TextWriter writer)
        {
            HtmlComposite col1 = new HtmlComposite("div", new HtmlAttribute("class", "col-xs-3"));

            HtmlComposite rowb1 = col1.AppendComposite("div", new HtmlAttribute("class", "row-fluid"));

            HtmlComposite cellb1 = rowb1.AppendComposite("div", new HtmlAttribute("class", "col-xs-10"));

            cellb1.AppendStandalone("input",
                                    new HtmlAttribute("type", "text"),
                                    new HtmlAttribute("placeholder", "Search"),
                                    new HtmlAttribute("name", _SearchFilter.Key),
                                    new HtmlAttribute("id", _SearchFilter.Key),
                                    new HtmlAttribute("class", "form-control changeReload"),
                                    new HtmlAttribute("value", _SearchFilter.Value));

            HtmlComposite cellb2 = rowb1.AppendComposite("div", new HtmlAttribute("class", "col-xs-2"));

            cellb2.AppendComposite("button",
                                   new HtmlAttribute("type", "text"),
                                   new HtmlAttribute("class", "btn btn-primary pull-right"))
            .AppendSimple("i", "",
                          new HtmlAttribute("class", "fa fa-search"));

            col1.Write(writer);
        }
        public void RenderPagination(TextWriter writer)
        {
            HtmlComposite coldiv = new HtmlComposite("div", new HtmlAttribute("class", "col-xs-6"));

            coldiv.AppendStandalone(
                "input",
                new HtmlAttribute("type", "hidden"),
                new HtmlAttribute("name", _PageOrdinal.Key),
                new HtmlAttribute("id", _PageOrdinal.Key),
                new HtmlAttribute("value", Result.PageOrdinal));


            HtmlComposite paginationUl = coldiv.AppendComposite(
                "ul",
                new HtmlAttribute("class", "pagination pull-right"));

            paginationUl.AppendComposite(
                "li",
                new HtmlAttribute("class", ""))
            .AppendSimple(
                "a",
                "First",
                new HtmlAttribute("id", "firstPage"),
                new HtmlAttribute("href", "#"));

            //Previous page button
            paginationUl.AppendComposite(
                "li",
                new HtmlAttribute("class", Result.HasPreviousPages ? "" : "disabled"))
            .AppendSimple(
                "a",
                "Previous",
                new HtmlAttribute("id", "previousPage"),
                Result.HasPreviousPages ? new HtmlAttribute("href", "#") : new HtmlAttribute());

            //Records found
            paginationUl.AppendComposite(
                "li",
                new HtmlAttribute("class", ""))
            .AppendSimple(
                "a",
                Result.RecordCount + " records. Page " + (Result.PageOrdinal + 1) + " of " + Result.PageCount,
                new HtmlAttribute());

            //Next page button
            paginationUl.AppendComposite(
                "li",
                new HtmlAttribute("class", Result.HasMorePages ? "" : "disabled"))
            .AppendSimple(
                "a",
                "Next",
                new HtmlAttribute("id", "nextPage"),
                Result.HasMorePages ? new HtmlAttribute("href", "#") : new HtmlAttribute());

            //Last page button
            paginationUl.AppendComposite(
                "li",
                new HtmlAttribute("class", Result.HasMorePages ? "" : "disabled"))
            .AppendSimple(
                "a",
                "Last",
                new HtmlAttribute("id", "lastPage"),
                Result.HasMorePages ? new HtmlAttribute("href", "#") : new HtmlAttribute());

            coldiv.Write(writer);
        }
        public void RenderOrderBy(TextWriter writer)
        {
            HtmlComposite coldiv = new HtmlComposite("div", new HtmlAttribute("style", "display:none"));

            coldiv.AppendSimple(
                "label",
                "Order by",
                new HtmlAttribute("class", "control-label"));
            coldiv.Write(writer);


            coldiv = new HtmlComposite("div", new HtmlAttribute("style", "display:none"));
            HtmlComposite selectOrderBy = coldiv.AppendComposite(
                "select",
                new HtmlAttribute("name", _OrderBy.Key),
                new HtmlAttribute("id", _OrderBy.Key),
                new HtmlAttribute("class", "changeReload"));

            EixoX.Data.DatabaseAspect <T> aspect = EixoX.Data.DatabaseAspect <T> .Instance;
            for (int i = 0; i < aspect.Count; i++)
            {
                selectOrderBy.AppendHtmlOption(i, aspect[i].Name, i == _OrderBy.Value);
            }

            coldiv.Write(writer);


            coldiv = new HtmlComposite("div", new HtmlAttribute("style", "display:none"));
            HtmlComposite selectDirection = coldiv.AppendComposite(
                "select",
                new HtmlAttribute("name", _SortDirection.Key),
                new HtmlAttribute("id", _SortDirection.Key),
                new HtmlAttribute("class", "input-small  changeReload"));

            if (_SortDirection.Value == EixoX.Data.SortDirection.Ascending)
            {
                selectDirection.AppendSimple(
                    "option",
                    EixoX.Data.SortDirection.Ascending,
                    new HtmlAttribute("value", EixoX.Data.SortDirection.Ascending),
                    new HtmlAttribute("selected", "selected"));

                selectDirection.AppendSimple(
                    "option",
                    EixoX.Data.SortDirection.Descending,
                    new HtmlAttribute("value", EixoX.Data.SortDirection.Descending));
            }
            else
            {
                selectDirection.AppendSimple(
                    "option",
                    EixoX.Data.SortDirection.Ascending,
                    new HtmlAttribute("value", EixoX.Data.SortDirection.Ascending));

                selectDirection.AppendSimple(
                    "option",
                    EixoX.Data.SortDirection.Descending,
                    new HtmlAttribute("value", EixoX.Data.SortDirection.Descending),
                    new HtmlAttribute("selected", "selected"));
            }

            coldiv.Write(writer);
        }