最近制作做了几个简单的报表,写下主要的代码。以便各位参考。

  public void FillDW(DataTable dtbResult)
{
try
{
DataRow dtFr;
int row = ;
int i = , j = ;
int n = ;
int nowCount = ;
string tempName = null;
decimal num = ;
string temp = null;
string tt = null; ;
decimal max = ;
int count = ; m_objViewer.dwResult.SetRedrawOff(); for (i = ; i < dtbResult.Columns.Count; i++)
{
tempName = "name_" + i.ToString() + "_t.text=";
if (i % == )
{
temp = tempName + "\"" + dtbResult.Columns[i].ColumnName + "\"";
}
else
{
for (int k = ; k < dtbResult.Rows.Count; k++)
{
if (decimal.TryParse(dtbResult.Rows[k][i].ToString(), out num))
{
if (max < num)
max = num;
}
}
temp = tempName + "\"数量(" + max.ToString() + ")\"";
}
m_objViewer.dwResult.Modify(temp);
n = dtbResult.Columns[i].ColumnName.Length;
if (i % == && n>=)
{ if (n > )
{
tt = "name_" + i.ToString() + "_t.Width= '160'";
m_objViewer.dwResult.Modify(tt);
temp = "name_" + i.ToString() + ".Width= '160'";
m_objViewer.dwResult.Modify(temp);
}
else
{
tt = "name_" + i.ToString() + "_t.Width= '120'";
m_objViewer.dwResult.Modify(tt);
temp = "name_" + i.ToString() + ".Width= '120'";
m_objViewer.dwResult.Modify(temp);
}
}
else
{
tt = "name_" + i.ToString() + "_t.Width= '90'";
m_objViewer.dwResult.Modify(tt);
temp = "name_" + i.ToString() + ".Width= '90'";
m_objViewer.dwResult.Modify(temp);
} //显示
tt = "name_" + i.ToString() + "_t.visible = '1'";
m_objViewer.dwResult.Modify(tt);
temp = "name_" + i.ToString() + ".visible = '1'";
m_objViewer.dwResult.Modify(temp); count++;
max = ;
}
//for (i = dtbResult.Columns.Count; i <= 104; i++)
//{
// //隐藏
// tt = "name_" + i.ToString() + "_t.Width= '0'";
// m_objViewer.dwResult.Modify(tt);
// temp = "name_" + i.ToString() + ".Width= '0'";
// m_objViewer.dwResult.Modify(temp);
//} tt = "name_0_t.Width= '150'";
m_objViewer.dwResult.Modify(tt);
temp = "name_0.Width= '150'";
m_objViewer.dwResult.Modify(temp); nowCount = j;
for (int intI = ; intI < dtbResult.Rows.Count; intI++)
{
row = this.m_objViewer.dwResult.InsertRow();
dtFr = dtbResult.Rows[intI];
for (i = ; i < dtbResult.Columns.Count; i++)
{
temp = "name_" + i.ToString();
m_objViewer.dwResult.SetItemString(row, temp, dtFr[i].ToString());
}
} temp = "(" + this.dtDateFrom.ToShortDateString();
m_objViewer.dwResult.Modify("t_from.text='" + temp + "'");
m_objViewer.dwResult.Modify("t_from.visible='1'");
temp ="至"+ this.dtDateTo.ToShortDateString()+")";
m_objViewer.dwResult.Modify("t_to.text='" + temp + "'");
m_objViewer.dwResult.Modify("t_to.visible='1'"); m_objViewer.dwResult.SetRedrawOn();
m_objViewer.dwResult.Refresh(); }
catch (Exception objEx)
{
MessageBox.Show(objEx.Message);
} }

dw.LibraryList="XX.pbl"

dw.DataWindowObject="XXX";

datawindow 创建操作报表。的更多相关文章

  1. DevExpress XtraReports 入门四 创建 Web 报表

    原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这 ...

  2. [原创]Devexpress XtraReports 系列 2 创建表格报表

    昨天发表了Devexpress XtraReports系列开篇,今天我们继续. 今天的主题是创建表格报表. 首先我们来看看最后实现的效果.Demo最后附上. 接下来开始讲解如何一步一步做出这个报表: ...

  3. [原创]Devexpress XtraReports 系列 3 创建主从报表

    昨天写了系列的第二篇Devexpress XtraReports 系列 2 创建表格报表 . 今天我们来继续系列 3 创建主从报表 首先我们来看看最后实现的效果.Demo最后附上. 开始吧. 第一步, ...

  4. [原创]Devexpress XtraReports 系列 5 创建交叉报表

    昨天我们已经介绍了如何创建多栏报表,详见:[原创]Devexpress XtraReports 系列 4 创建多栏报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...

  5. [原创]Devexpress XtraReports 系列 6 创建并排报表

    昨天我们已经介绍了如何创建交叉报表,详见:[原创]Devexpress XtraReports 系列 5 创建交叉报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...

  6. [原创]Devexpress XtraReports 系列 8 创建Drill-Through报表

    哎,今天公司工作忙了一天,一直没有时间写写东西.所以只能昨天晚上加班写咯.苦逼啊...... 昨天发表了Devexpress XtraReports系列第七篇[原创]Devexpress XtraRe ...

  7. [原创]Devexpress XtraReports 系列 10 创建标签报表

    今天这篇是Dx Reports 基础初级系列的最后一篇了.以后如果有什么高级的应用,应该另开一个中级使用系列. 昨天发表了Devexpress XtraReports系列第九篇[原创]Devexpre ...

  8. Java中创建操作文件和文件夹的工具类

    Java中创建操作文件和文件夹的工具类 FileUtils.java import java.io.BufferedInputStream; import java.io.BufferedOutput ...

  9. SSRS (一)创建基础报表

    ReportService创建基础报表 1.数据库SQL Server2012选择SQL Server Data Tools 2.创建商业智能(BI)项目 选择报表服务器项目 ReportServic ...

随机推荐

  1. Java类实例化时候的加载顺序

    面试试题中经常考到此问题,现在做进一步的总结: public class Student { public Student(String name){ System.out.println(name) ...

  2. 模拟jquery

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. linux 修改home目录下的中文目录名为英文

    编辑home/下的 .config/user-dirs.dirs,把所有的中文名称修改为英文名称 在home目录下创建对应的英文名称路径 运行 xdg-user-dirs-update 重启机器

  4. Adobe Edge Animate CC 不再开发更新!

    Adobe Edge Animate CC停止开发更新! http://blogs.adobe.com/edge/2015/11/30/update-about-edge-tools-services ...

  5. VM安装mac及dmg文件转换iso

    今天心血来潮,突然看见一篇关于swift的入门教程,但是前提是有一台mac啊,于是对于屌丝,就只好装黑苹果或者是虚拟机上运行了,但是呢mac貌似听说(没用过)只能在inter上运行,屌丝的本子偏偏是A ...

  6. zoj3416 Balanced Number

    链接 这题纠结了好久,刚开始想到的是正解,不过想到可能会出现一个数支点不唯一的情况,这样就多算了,其实是我想多了,一个数只有一个支点. 这样就好像想到了,枚举支点的位置,保存力矩的状态. dp[i][ ...

  7. Window 常用文件

    *.msm ntwdblib.dll是一款用于PHP连接MSSQL2005或2008的驱动文件,如果连接BDE的时候出现“cannot load an idapi service liabray fi ...

  8. jquery中通过全局变量来禁止多次ajax请求

    var ajaxstate=false;//定义全局变量,通过这个变量来获得当前的ajax状态 $(function(){ $(document).ajaxStart(function(){ $(&q ...

  9. centos 安装 mongdb

    1.安装MongoDB(安装到/usr/local) wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.2.4.t ...

  10. c.BIO连接器与NIO连接器的对比

    前面两节,我们分别看了BIO和NIO的两种模式Tomcat的实现方式. BIO的方式,就是传统的一线程,一请求的模式,也就是说,当同时又1000个请求过来,如果Tomcat设置了最大Accept线程数 ...