当前位置: 首页 > news >正文

西宁专业网站建设公司怎么区别网站开发语言

西宁专业网站建设公司,怎么区别网站开发语言,wordpress主题后门检查,网络营销解释有几个报表, 查询条件都一样#xff0c;仅仅里面GridView中有几个列区别#xff0c;以前图快#xff0c;就把原来Report.aspx文件拷贝一份#xff0c;改名为Report1.aspx#xff0c;然后#xff0c;修改里面的column#xff0c;然后再由后台库查出数据#xff0c;填充到…有几个报表, 查询条件都一样仅仅里面GridView中有几个列区别以前图快就把原来Report.aspx文件拷贝一份改名为Report1.aspx然后修改里面的column然后再由后台库查出数据填充到这个report中来。 今天终于不耐烦了这个方法确实太笨了改一改方案如下 1.创建一个IReport的接口所有的report都实现这个接口。     public interface IReport    {        // 该report所有可用列集合(每一次查询不一定全部显示)        Dictionarystring, string DictColMapping { get; }                  // (本次查询)该report显示的列KeyField和HeaderText集合         Dictionarystring, int DictColIndexMapping { get; }         /// (本次查询)该report显示的列SortExpressField和所在位置Index集合         ListReportColumn ReportColumnCollection { get; }         // 导出excel的文件名        string ToExcelName { get; }           // 该report的唯一编号用于安全验证        string ReportResourceID { get; }           // 产生report输入条件为一个参数数组        DataSet ProccessReport(params object[] ParamList);    }   2.创建一个ReportColumn类。     public class ReportColumn    {        public string ColumnDataField { set; get; }        public string ColumnHeaderText { set; get; }        public string ColumnSortExpression { set; get; }        public int ColumnIndex { set; get; }         public ReportColumn(string _ColumnDataField, string _ColumnHeaderText, string _ColumnSortExpression, int _ColumnIndex)        {            this.ColumnDataField _ColumnDataField;            this.ColumnHeaderText _ColumnHeaderText;            this.ColumnSortExpression _ColumnSortExpression;            this.ColumnIndex _ColumnIndex;        }    }   3.创建报表的抽象基类里面放些处理类似报表的通用方法。    public abstract class clsReportBase  {} 4.创建实际的报表类    public class clsReport_SalesOrder : clsReportBase, IReport    {        private ListReportColumn _ReportColumnCollection; //该report所有可用列集合(每一次查询不一定全部显示)        private Dictionarystring, string _DictColMapping; //(本次查询)该report显示的列KeyField和HeaderText集合         private Dictionarystring, int _DictColIndexMapping; //(本次查询)该report显示的列SortExpressField和所在位置Index集合                public clsReport_SalesOrder()        {            _ReportColumnCollection new ListReportColumn();            _DictColMapping new Dictionarystring, string();            _DictColIndexMapping new Dictionarystring, int();                        FillReportColumnCollection();        }         /// summary        /// 填充该report所有可用列集合        /// /summary        private void FillReportColumnCollection()        {            AddColumnToCollection(new ReportColumn(Province, 省, 省, 0));            AddColumnToCollection(new ReportColumn(Vertical, 行业, 行业, 1));            AddColumnToCollection(new ReportColumn(ProductLine, 产品, 产品, 2));             AddColumnToCollection(new ReportColumn(Subtotal, 订单额($), 订单额($), 3));        }         /// summary        /// 该report所有可用列集合(每一次查询不一定全部显示)        /// /summary        public ListReportColumn ReportColumnCollection        {            get            {                return _ReportColumnCollection;            }        }         /// summary        /// (本次查询)该report显示的列KeyField和HeaderText集合         /// /summary        public Dictionarystring, string DictColMapping        {            get            {                return _DictColMapping;            }        }         /// summary        /// (本次查询)该report显示的列SortExpressField和所在位置Index集合        /// /summary        public Dictionarystring, int DictColIndexMapping        {            get            {                return _DictColIndexMapping;            }        }                /// summary        /// (本次查询)该report需要格式化为货币的列集合        /// /summary        public Liststring MoneyFormatColumnCollection        {            get            {                return _MoneyFormatColumnCollection;            }        }         /// summary        /// report名称        /// /summary        public string ToExcelName        {            get            {                return 订单统计.xls;            }        }         /// summary        /// report唯一编码        /// /summary        public string ReportResourceID         {             get             {                return 12345;            }         }         private void AddColumnToCollection(ReportColumn column)        {            _ReportColumnCollection.Add(column);            _DictColMapping.Add(column.ColumnDataField, column.ColumnHeaderText);            _DictColIndexMapping.Add(column.ColumnSortExpression, column.ColumnIndex);        }         /// summary        /// 产生report输入条件为一个参数数组        /// /summary        /// param nameParamList/param        /// returns/returns        public DataSet ProccessReport(params object[] ParamList)        {              ...从ParamList参数列表里解析出查询条件然后从数据库取数据。        }       }           5.前台aspx页面里的GridView asp:GridView IDGridView1 runatserver AutoGenerateColumnsfalse  CellPadding2 CssClassautoTable AllowSortingfalse Columns /Columns/asp:GridView   6.在前台aspx.cs页面里通过url传来的报表类名反射出报表的实例。      protected void Page_Load(object sender, EventArgs e)    {        _InitReport(this.Request.QueryString[Report]);     }     private void _InitReport(string QueryString)    {        string reportClassName QueryString;        string reportAssemblyName Test;        string reportFullClassName reportAssemblyName . reportClassName;        report (IReport)Assembly.Load(reportAssemblyName).CreateInstance(reportFullClassName);            _DictColMapping new Dictionarystring, string();        _DictColMapping report.DictColMapping;         _DictColIndexMapping new Dictionarystring, int();        _DictColIndexMapping report.DictColIndexMapping;         GridView1.Columns.Clear();        foreach (ReportColumn column in report.ReportColumnCollection)        {            BoundField bf new BoundField();            bf.DataField column.ColumnDataField;            bf.HeaderText column.ColumnHeaderText;            bf.SortExpression column.ColumnSortExpression;            bf.HeaderStyle.Wrap false;            bf.ItemStyle.Wrap false;            GridView1.Columns.Add(bf);        }    }       protected void btn_Search_Click(object sender, EventArgs e)    {        object[] arr new object[] { UserObject, ConditionObject ... };        DataSet m_Data report.ProccessReport(arr);         HideSomeColumns(m_Data); //如果需要可以在此屏蔽不显示的列设置列visiablefalse.         this.GridView_SalesOrderSummarization.DataSource m_Data.Tables[0];        this.GridView_SalesOrderSummarization.DataBind();    }  7.这样, 就只用一个aspx文件文成多个报表了, 只要把类型当作参数传过来即可. Report.aspx?ReportclsReport_SalesOrder Report.aspx?ReportclsReport_SalesOrder2   这样就精简了前台aspx的程序数量, 方便了以后系统的维护.  转载于:https://www.cnblogs.com/liuzhendong/archive/2011/10/13/2210570.html
http://www.pierceye.com/news/198624/

相关文章:

  • 在百度上做网站有用吗wordpress环境虚拟机安装
  • 怎么做网站图片链接中元建设网站
  • 邢台做网站优化价格网站基本维护
  • 网站集群建设价格wordpress 加文章列表
  • 官方网站案例用ps做网站主页
  • 做名片的网站推广型网站建设销售
  • 河南省建设执业资格注册中心网站网站推广公司 sit
  • 来年做那个网站致富网站工作室 需要什么手续
  • 宜兴网站建设哪家好网站建设设计公司排名
  • 婚庆公司网站怎么做wordpress 首页置顶
  • 电商网站开发人员结构江苏住房和城乡建设厅网站首页
  • 快速建站的模板陕西省建设网三类人员继续教育
  • 谷歌浏览器对做网站有什么好处广州最好网站策划
  • 西安北郊做网站重庆手机软件开发
  • 怀化刚刚发生的大事台州seo服务
  • 织梦做的网站打开空白巴中网站制作公司
  • 如何使用jq做弹幕网站设计漂亮的网站
  • 电商网站是获取流量广西南宁网站排名优化
  • 网站板块设计有哪些开发网站监控推荐
  • 江西建设局网站广东网站建设类公司
  • 深圳网站制作设计艾佳工业设计
  • 怎么查看网站啥系统做的宁波网站设计制作
  • 温岭手机网站建设合肥企业展厅设计公司
  • 网站建设和制作怎么赚钱外贸网站建设服务器
  • 长沙自动化网站建设瑞安地区建设网站
  • 中山做网站费用网页制作简明教程
  • 芜湖做网站需要多少钱青岛网站建设公司怎么选
  • 塑胶 东莞网站建设企业网络推广培训
  • wordpress五分钟建站手机网站 cms
  • 网站前台后台河南省建设工程质量协会网站