⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 categorymonthcontrol.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
字号:
namespace PowerEasy.WebSite.Controls
{
    using PowerEasy.Common;
    using PowerEasy.Contents;
    using PowerEasy.Controls;
    using PowerEasy.Enumerations;
    using PowerEasy.Model.Contents;
    using PowerEasy.Web.UI;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Text;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;

    public class CategoryMonthControl : BaseUserControl
    {
        protected Button BtnSubmit;
        protected CompareValidator CompareValidator1;
        protected DatePicker DpkEndDate;
        protected DatePicker DpkStartDate;
        protected DropDownList DrpCategory;
        protected HtmlGenericControl SpanCount;

        protected void BtnSubmit_Click(object sender, EventArgs e)
        {
            if (this.Page.IsValid)
            {
                DateTime endDate = DataConverter.CDate(this.DpkEndDate.Text);
                DateTime beginDate = DataConverter.CDate(this.DpkStartDate.Text);
                int nodeId = DataConverter.CLng(this.DrpCategory.SelectedValue);
                DataTable dataTable = ContentManage.GetCountByNodeAndMonth(nodeId, beginDate, endDate);
                StringBuilder sb = new StringBuilder("<table class=\"border\" id=\"statistics\" width=\"100%\" cellspacing=\"1\" cellpadding=\"2\" border=\"0\">");
                int dateIntervalMonth = this.GetDateIntervalMonth(beginDate, endDate);
                IList<NodeInfo> nodeList = new List<NodeInfo>();
                if (nodeId > 0)
                {
                    NodeInfo item = new NodeInfo();
                    item.NodeId = nodeId;
                    item.NodeName = PowerEasy.Contents.Nodes.GetCacheNodeById(nodeId).NodeName;
                    nodeList.Add(item);
                }
                else
                {
                    nodeList = PowerEasy.Contents.Nodes.GetNodesList(NodeType.Container);
                }
                this.BuildTableHead(sb, dateIntervalMonth, beginDate);
                this.BuildTableBody(sb, dateIntervalMonth, beginDate, dataTable, nodeList);
                this.BuildTableFooter(sb, dateIntervalMonth);
                sb.Append("</table>");
                this.SpanCount.InnerHtml = sb.ToString();
            }
        }

        private void BuildTableBody(StringBuilder sb, int length, DateTime startDate, DataTable dataTable, IList<NodeInfo> nodeList)
        {
            foreach (NodeInfo info in nodeList)
            {
                this.BuildTableTd(sb, length, startDate, dataTable, info.NodeName);
            }
        }

        private void BuildTableFooter(StringBuilder sb, int length)
        {
            sb.Append("<tr class=\"tdbg\" align=\"center\"><td >合计</td>");
            for (int i = 0; i <= length; i++)
            {
                sb.Append("<td></td>");
            }
            sb.Append("<td></td></tr>");
        }

        private void BuildTableHead(StringBuilder sb, int length, DateTime startDate)
        {
            sb.Append("<tr align=\"center\" class='title'><td>栏目名称</td>");
            for (int i = 0; i <= length; i++)
            {
                sb.Append("<td >");
                string str = startDate.AddMonths(i).ToString("yyyy-MM");
                sb.Append(str);
                sb.Append("</td>");
            }
            sb.Append("<td>合计</td></tr>");
        }

        private void BuildTableTd(StringBuilder sb, int length, DateTime startDate, DataTable dataTable, string nodeName)
        {
            int num = 0;
            sb.Append("<tr class=\"tdbg\" align=\"center\">");
            sb.Append("<td>");
            sb.Append(nodeName);
            sb.Append("</td>");
            for (int i = 0; i <= length; i++)
            {
                sb.Append("<td>");
                DataRow[] rowArray = dataTable.Select("NodeName='" + nodeName + "'");
                if ((rowArray.Length > 0) && (i < rowArray.Length))
                {
                    if (string.Compare(rowArray[i]["InputTime"].ToString().Trim(), startDate.AddMonths(i).ToString("yyyy-M"), true) == 0)
                    {
                        num += DataConverter.CLng(rowArray[i]["Count"]);
                        sb.Append(rowArray[i]["Count"]);
                    }
                    else
                    {
                        sb.Append("0");
                    }
                }
                else
                {
                    sb.Append("0");
                }
                sb.Append("</td>");
            }
            sb.Append("<td >");
            sb.Append(num.ToString());
            sb.Append("</td>");
            sb.Append("</tr>");
        }

        private int GetDateIntervalMonth(DateTime startDate, DateTime endDate)
        {
            return (((endDate.Year - startDate.Year) * 12) + Math.Abs((int) (endDate.Month - startDate.Month)));
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!base.IsPostBack)
            {
                this.DrpCategory.DataSource = PowerEasy.Contents.Nodes.GetNodeNameForContainerItems();
                this.DrpCategory.DataTextField = "NodeName";
                this.DrpCategory.DataValueField = "NodeId";
                this.DrpCategory.DataBind();
                this.DrpCategory.Items.Insert(0, new ListItem("所有栏目", "0"));
                this.DpkStartDate.Text = DateTime.Now.ToString("yyyy") + "-01-01";
                this.DpkEndDate.Text = DateTime.Now.ToString("yyyy-MM-dd");
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -