博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fastreport.net cdoe 自己的代码
阅读量:6046 次
发布时间:2019-06-20

本文共 5102 字,大约阅读时间需要 17 分钟。

  //初始            Report report1 = new Report();            report1.Clear();            string ReportFileName = GetReportFileName(Rep);            //report1.Load(Environment.CurrentDirectory + "\\Report\\" + ReportFileName);            report1.Load(Environment.CurrentDirectory + "\\" + ReportFileName);            report1.RegisterData(ds);            //report1.RegisterData(dtItem, "item");//report1.RegisterData(ds.Tables[1], "Detail");            report1.GetDataSource("Detail").Enabled = true;            report1.GetDataSource("Master").Enabled = true;            report1.GetDataSource("Material").Enabled = true;            report1.GetDataSource("SUM").Enabled = true;              DataBand dataBand1 = report1.FindObject("DataItem") as DataBand;            if (dataBand1 == null)            {                Msg.ShowError("数据区对象不存在,检查(DataItem)是否存在!");                return;            }             PageHeaderBand PageHeader1 = report1.FindObject("PageHeader1") as PageHeaderBand;            if (PageHeader1 == null)            {                Msg.ShowError("页眉对象不存在,检查(PageHeader1)是否存在!");                return;            }            dataBand1.DataSource = report1.GetDataSource("Detail");              列标题位置参考对象            TextObject TxtObjRow = report1.FindObject("TextData") as TextObject;            if (TxtObjRow == null)            {                Msg.ShowError("参照对象不存在,检查(TxtObjRow)是否存在!");                return;            }            float iLeft = TxtObjRow.Left;            float iTop = TxtObjRow.Top;            float iWidth = TxtObjRow.Width;            float iHeight = TxtObjRow.Height;             //列位置参考对象            TextObject TextHeadRow = report1.FindObject("TextHead") as TextObject;            if (TextHeadRow == null)            {                Msg.ShowError("参照对象不存在,检查(TextHead)是否存在!");                return;            }            float iLeft2 = TextHeadRow.Left;            float iTop2 = TextHeadRow.Top;            float iWidth2 = TextHeadRow.Width;            float iHeight2 = TextHeadRow.Height;             DataSourceBase frxSource = report1.GetDataSource("Detail");            float AutoWith = 0;            if (AtuoSize == true)            {                AutoWith = (float)198 / (frxSource.Columns.Count -9);            }            else            {                AutoWith = 10;            }             //对数据区的列自动生成,加载到报表中            int k = 0;            for (int i = 0; i < frxSource.Columns.Count; i = i + 1)            {                //重新设置数据源列别名,由于传入别名重复。默认情况,dataTable列是caption 自动对应的fastreport数据源列的别名                      frxSource.Columns[i].Alias = frxSource.Columns[i].Name;                string col = frxSource.Columns[i].Name;                string colCaption = col.Replace("_1", "");                if (col == "ID" || col == "MaterialID" || col == "MaterialCode" || col == "MaterialName" ||                      col == "Grade" || col == "LR" || col == "LenType" || col == "Sort" || col == "Com")                {                    continue;                }                                 //if (col == "Row") continue;                 string sName = "[" + frxSource.Alias + "." + col + "]";                //数据区设置                TextObject txtObject = new TextObject();                txtObject.Name = col;                txtObject.Border.Lines = BorderLines.All;                txtObject.HorzAlign = HorzAlign.Center;                txtObject.VertAlign = VertAlign.Center;                txtObject.Font = new Font("宋体", 9.0f);                txtObject.EvenStyle = "Style1";                //txtObject.CreateUniqueName();                txtObject.Bounds = new RectangleF(k * Units.Millimeters * AutoWith, 0, Units.Millimeters * AutoWith, iHeight);                txtObject.Text = sName;                txtObject.HideZeros = true;//当为0,设置空                //设置打印内容格式                if (col == "Sph" || col == "row")                {                 }                else                {                    NumberFormat fn = new NumberFormat();                    fn.UseLocale = false;                    fn.DecimalDigits = 1;                    fn.DecimalSeparator ="null" ;                    txtObject.Format = fn;                }                dataBand1.Objects.Add(txtObject);                 //Head列区设置                TextObject txtObject1 = new TextObject();                txtObject1.Name = "txt" + col;                //txtObject1.CreateUniqueName();                txtObject1.Border.Lines = BorderLines.All;                txtObject1.HorzAlign = HorzAlign.Center;                txtObject1.VertAlign = VertAlign.Center;                txtObject1.Font = new Font("宋体", 9.0f);                txtObject1.Bounds = new RectangleF((k) * Units.Millimeters * AutoWith, iTop2, Units.Millimeters * AutoWith, iHeight2);                txtObject1.Text = colCaption;                if (col == "Sph" || col == "row")                {                    txtObject1.Text = "球\\柱";                 }                PageHeader1.Objects.Add(txtObject1);                k++;             }

转载于:https://www.cnblogs.com/lhyqzx/p/5918735.html

你可能感兴趣的文章
【转载】SQL经验小记
查看>>
zookeeper集群搭建 docker+zk集群搭建
查看>>
Vue2.5笔记:Vue的实例与生命周期
查看>>
论JVM爆炸的几种姿势及自救方法
查看>>
联合体、结构体简析
查看>>
使用throw让服务器端与客户端进行数据交互[Java]
查看>>
java反射与代理
查看>>
深度分析Java的ClassLoader机制(源码级别)
查看>>
微服务架构选Java还是选Go - 多用户负载测试
查看>>
我的友情链接
查看>>
69、iSCSI共享存储配置实战
查看>>
文本编程
查看>>
乔布斯走了。你还期待苹果吗?
查看>>
优先级
查看>>
Tomcat与Web服务器、应用服务器的关系
查看>>
用DFS实现全排列 & 八皇后问题
查看>>
深度学习博客
查看>>
Android总结篇系列:Android Service
查看>>
Android dumpsys命令的使用
查看>>
Linux Kernel系列一:开篇和Kernel启动概要
查看>>