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

  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. R----stringr包介绍学习

    1. stringr介绍 stringr包被定义为一致的.简单易用的字符串工具集.所有的函数和参数定义都具有一致性,比如,用相同的方法进行NA处理和0长度的向量处理. 字符串处理虽然不是R语言中最主要 ...

  2. 在mysql数据库原有字段后增加新内容

    update table set user=concat(user,$user) where xx=xxx; [注释]这个语法要求原来的字段值不能为null(可以为空字符''):

  3. Vim入门教程

    尽管网上有成打的Vim在线教程,但是要么艰深晦涩,要么太过肤浅.本教程的目标让每个阶段都有斩获,从理解它的哲学(将和你终身相伴)到超越现在编辑技巧,成为其中的牛人. 简单来说,本教程的学习方式将使你终 ...

  4. (六)ICMP、ping

    ping命令是ICMP协议 127.0.0.1 ifconfig -all

  5. Java 中 Comparable 和 Comparator 比较

    Java 中 Comparable 和 Comparator 比较 目录: Comparable Comparator Comparable 和 Comparator比较 第二个例子 之 Compar ...

  6. 【转】 深入main函数中的参数argc,argv的使用详解

    C/C++语言中的main函数,经常带有参数argc,argv,如下: 复制代码 代码如下: int main(int argc, char** argv) 这两个参数的作用是什么呢?argc 是指命 ...

  7. DeviceIoControl

    DeviceIoControl是kernel32中的函数,包含的头文件为winbase.h. BOOL DeviceIoControl( HANDLE hDevice,                 ...

  8. Sql Server 删除所有表

    如果由于外键约束删除table失败,则先删除所有约束: --/第1步**********删除所有表的外键约束*************************/ DECLARE c1 cursor f ...

  9. 1057 N的阶乘(大数运算)

    题目链接:51nod 1057 N的阶乘 #include<cstdio> using namespace std; typedef long long ll; ; const int m ...

  10. 各种边缘检测算子特点比较(canny)

    canny 最好.但是容易把噪点误判为边界.sobel prewitt log 效果差不多.prewitt比sobel 去噪效果好.roberts马马虎虎.适合什么图片那得看图片的噪点情况,一般can ...