Beispiel #1
0
        /* 2. Search - Per Page - Page List */
        private string SearchAndPageHTML()
        {
            filtertheSearch();

            StringBuilder sb = new StringBuilder();
            this.perPage = PageRequest.Form["perpage"];
            UserPrefs up = new UserPrefs(Utils.User.UserName);
            string prefPerPage = up.getPreference(this.GridTable.TableName);
            if (string.IsNullOrEmpty(this.perPage))
            {
                this.perPage = string.IsNullOrEmpty(prefPerPage) ? "50" : prefPerPage;
            }
            if (! prefPerPage.Equals(this.perPage))
            {
                up.SetPreference(this.GridTable.TableName, this.perPage);
            }

            string[] aryPerPage = new string[] { "10", "20", "30", "40", "50", "70", "100" };

            sb.Append("<thead><tr><td colspan=\"" + (GridTable.TableFields.Count + 1).ToString() + "\">");
            sb.Append("<table class=\"gridpaging\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr><td>Per Page</td><td>");
            sb.Append("<input type=\"hidden\" id=\"sortby\" name=\"sortby\"  value=\"" + HttpUtility.HtmlEncode(this.HeaderSortBy) + "\" /><input type=\"hidden\" id=\"sortdir\" name=\"sortdir\" value=\"" + HttpUtility.HtmlEncode(this.HeaderSortDir) + "\"/>");
            sb.Append("<select id=\"perpage\" name=\"perpage\" onchange=\"submit();\">");
            for (int i = 0; i < aryPerPage.Length; i++)
            {
                sb.Append("<option value=\"" + HttpUtility.HtmlEncode(aryPerPage[i]) + "\" " + (this.perPage.Equals(aryPerPage[i]) ? "selected" : "") + " >" + HttpUtility.HtmlEncode(aryPerPage[i]) + "</option>");
            }
            sb.Append("</select></td><td style=\"border-right:1px solid #333;\">&nbsp;</td>");
            sb.Append("<td>Search</td><td><select style=\"padding:2px;font-family:Tahoma;font-size:10px;\"  id=\"searchField\" name=\"searchField\" ><option value=\"\"></option>");
            string searchField = PageRequest.Form["searchField"];

            for(int j=0; j< GridTable.TableFields.Count; j++)
            {
                string fldname = GridTable.TableFields[j].fieldName.ToLower();
                if (!(fldname.Equals("guidfield") || fldname.Equals("lastchange") || fldname.Equals("lastchangeuser")))
                {
                    sb.Append("<option value=\"" + HttpUtility.HtmlEncode(fldname) + "\" " + ((!string.IsNullOrEmpty(searchField) && searchField.Equals(fldname, StringComparison.InvariantCultureIgnoreCase))? " selected " : "")  + ">" + HttpUtility.HtmlEncode( GridTable.TableFields[j].fieldHeader) + "</option>");
                }
            }
            string searchVal = PageRequest.Form["searchValue"];
            if (string.IsNullOrEmpty(searchVal)) searchVal = "";
            sb.Append("</select></td><td><input type=\"text\" style=\"padding:2px;font-family:Tahoma;font-size:10px;\" id=\"searchValue\" name=\"searchValue\" size=\"12\" maxlength=\"20\" value=\"" + HttpUtility.HtmlEncode(searchVal) + "\" /></td><td><a  href=\"javascript:void(0);\" onclick=\"submit();\"><img src=\"images\\zoom.png\" style=\"height:16px;width:16px;vertical-align:middle;border:0px;\" alt=\"search\" /></a></td>");

            /* Pages HTML */
            int perpage;
            int.TryParse(this.perPage, out perpage);
            this.startRec = 0;
            this.endRec = this.TotalRec;
            if (this.TotalRec > perpage)
            {
                sb.Append("<td style=\"border-right:1px solid #333;\">&nbsp;</td>");
                int numPages = (this.TotalRec / perpage) + 1;
                string cpage = PageRequest.Form["curpage"];
                int curpage;
                int.TryParse(cpage, out curpage);
                if (curpage > 1)
                {
                    sb.Append("<td><img src=\"images\\pagestart.png\" alt=\"start\" title=\"start page\" onclick=\"gotoPage(0);\" /></td>");
                    sb.Append("<td><img src=\"images\\pageprior.png\" alt=\"prior\" title=\"prior page\" onclick=\"gotoPage(-1);\" /></td>");
                }
                sb.Append("<td><select id=\"curpage\" name=\"curpage\" onchange=\"submit();\">");
                for (int pn = 1; pn <= numPages; pn++)
                {
                    sb.Append("<option value=\"" + pn.ToString() + "\" " + ((curpage==pn)?"selected":"")  + " >" + pn.ToString() + "</option>");
                }
                sb.Append("</select></td>");
                if (curpage != numPages)
                {
                    sb.Append("<td><img src=\"images\\pagenext.png\" alt=\"next\" title=\"next page\" onclick=\"gotoPage(1);\" /></td>");
                    sb.Append("<td><img src=\"images\\pageend.png\" alt=\"end\" title=\"end page\" onclick=\"gotoPage(" + numPages.ToString() + ");\" /></td>");
                }
                this.startRec = (curpage!=0) ? (curpage-1) * perpage : 0;
                this.endRec = this.startRec + perpage;
                if (this.endRec > this.TotalRec) this.endRec = this.TotalRec;
            }
            sb.Append("</tr></table>");
            sb.Append("</td></tr></thead>");
            return sb.ToString();
        }