##1、想批量生成一堆物资信息卡,效果如下图所示,fastreport可以一下全部生成,并且发现不用单独写东西,
##2、发现FastReport官方给出的Demo.exe很友好,基本可以满足要求,想尝试修改tree树,直接加载自定义的报表,通过ILSpy查看Demo源码,发现tree的数据源是Demos\Reports\reports.xml,修改reports.xml,基本满足要求,不用再动手开发
  1. <?xml version="1.0" encoding="utf-8"?>
    <Reports>
    <FolderName="Definition">
    <ReportFile="wz_barcode_one.frx"/>
    <ReportFile="wz_barcode_all.frx"/>
    </Folder>
    <FolderName="General">
    <ReportFile="Simple List.frx"/>

     

##3、想继续完善,做的友好点,实现如下效果,用ListView显示数据,根据用户选择,在打印数据,发现了两个难点
###3.1 自定义用户数据源的问题,网上百般查找和测试都无用,官方文档、Demo也一一看了,可能在软件中能实现,直接通过FastRepost来自定义数据源吗,真是难。后来在官网上终于发现了有这个一个 FRNetProgrammerManual-en.pdf 这个文档中 看到一个 Passing custom SQL的功能,最终经过测试,代码如下,做报表,只要能自定义数据源,我想一切都不是问题了。
  1. try{
    TableDataSource dts =Report.GetDataSource("####")asTableDataSource;
    dts.SelectCommand="SELECT * FROM ### where WZID in ("+ss+")";
    // MessageBox.Show(dts.SelectCommand.ToString());
    dts.Init(); //不能少 关键
    }
    catch(Exception ee){
    MessageBox.Show(ee.Message.ToString());
    return;
    }

    ###3.2 关于ListView的使用,TextBox,grid,ComboBox,DataSelector都试了一遍,发现这些控件都是FastReport自带的过滤控件只要绑定数据列,就能实现过滤,唯独ListView没这功能,也是各种测试都无果,后来只要定义了两个数据源,一个数据源用来绑定ListView,一个用来绑定报表,至于绑定绑定报表的功能在这就起到数据字段的功能,最后通过自定义sql来决定数据源。

 ###3.3 关于ListView的使用 不知道Fastreport是不是抽风,控件的click事件均能生成和保存,但是其他事件比如ItemChecked,初始的时候设置了,结果运行一次之后,事件值被自动清空了,不知道什么原因,后来通过Form1_Load,强制注册可解决
  1. privatevoidForm1_Load(object sender,EventArgs e){
    lv_BaseWZinfo.ItemChecked+= lv_BaseWZinfo_ItemChecked
 ###3.4 关于控件的DialogResult值的问题,发现只有设置为Ok时,才能在点击button时跳转至报表,如果设置为None,click事件会触发,但不会显示报表,设置为OK,不选择任何东西也会跳转至报表,最后折中通过默认将button的DialogResult设置为None,发生选中时触发为OK
  1. privatevoid lv_BaseWZinfo_ItemChecked(object sender,ItemCheckedEventArgs e)
    {
    if(e.Item.Checked){
    btnOk.DialogResult=DialogResult.OK;
    }
    }
 ###3.5 有想进一步改造Demo的可以通过ILSpy反编译一下,进行修改

FastReport自定义数据源及ListView控件的使用的更多相关文章

  1. WPF 自定义ItemsControl/ListBox/ListView控件样式

    一.前言 ItemsControl.ListBox.ListView这三种控件在WPF中都可作为列表信息展示控件.我们可以通过修改这三个控件的样式来展示我们的列表信息. 既然都是展示列表信息的控件,那 ...

  2. 【Android基础】listview控件的使用(4)-----自定义布局的listview的使用

    前面我介绍了listview控件的不同用法,但是这些用法在实际的开发项目中是不足以满足需求的,因为前面的几种用法只能简单的显示文本信息,而且布局都比较单一,很难做出复杂的结果,在实际的开发项目中,90 ...

  3. ListView控件--2016年12月9日

    ListView属性 ListView   名称 说明 AccessKey 重写 WebControl.AccessKey 属性. 不支持将此属性设置 ListView 控件.(覆盖 WebContr ...

  4. 《ASP.NET1200例》ListView 控件与DataPager控件的结合<一>

    分页     在前一部分开始时介绍的原 HTML 设计中内含分页和排序,所以根据规范完整实现该网格的任务尚未完成.我们先分页,然后再排序. ListView 控件中的分页通过引入另一个新控件 Data ...

  5. 深入探讨WPF的ListView控件

    接上一篇博客初步探讨WPF的ListView控件(涉及模板.查找子控件)  我们继续探讨ListView的用法      一.实现排序功能 需求是这样的:假如我们把学生的分数放入ListView,当我 ...

  6. 初步探讨WPF的ListView控件(涉及模板、查找子控件) - GavinJun

    本文结合模板的应用初步介绍ListView的应用 一.Xaml中如何建立数据资源 大部分数据都会来自于后台代码,如何Xaml同样的建立数据源呢?比如建立一个学生List: 首先引入命名空间: xmln ...

  7. ListView控件

      打气筒工具:将R.layout.item_listview布局添加到相应的view控件里面 View view=LayoutInflater.from(ScondPro.this).inflate ...

  8. 《ASP.NET1200例》ListView控件之修改,删除与添加

    aspx <body> <form id="form1" runat="server"> <div> <asp:Lis ...

  9. 【Android基础】listview控件的使用(3)------Map与SimpleAdapter组成的多显示条目的Listview

    前面介绍的两种listview的使用都是最基础的,所以有很大的局限性,比如只能在一个item(即每一行的条目)中显示一个文本信息,这一篇我将介绍Map与SimpleAdapter组成的多显示条目的Li ...

随机推荐

  1. MVC利用MvcHtmlString在后台生成HTML

    后台: /// <summary> /// 生成分类下拉-列表框,选中指定的项 /// </summary> /// <param name="html&quo ...

  2. 基于CkEditor实现.net在线开发之路(8)Vs开发怎么配置

    前段时间有一园友问我,怎么将组件放置到VS开发工具的工具箱中,用vs开发工具配合CKEditor实现在线.net开发呢? 第一步:登陆http://www.zjt-lab.com:8090/login ...

  3. 一个简单的后台与数据库交互的登录与注册[sql注入处理,以及MD5加密]

    一.工具: vs2013[因为我现在用的也是2013,版本随便你自己开心] sql2008[准备过久升级] 二.用到的语言: HTML+CSS+Jquery+Ajax+sqlserver HTML[相 ...

  4. Java中, for循环经典例子

    循环的两种应用:穷举和迭代. break跳出整个循环 一.穷举:将所有可能的情况都走一遍,用if筛选出符合条件. 百鸡百钱: 一只公鸡1文钱,一只母鸡2文钱,一只小鸡半文钱,需要买100只鸡, 正好花 ...

  5. python PIL比较图片像素

    # -*- coding: utf-8 -*- from PIL import Image from pylab import * def compare_pic_L(pic1,pic2): #打开第 ...

  6. 2>&1 linux

    2>&1使用 2>&1使用 一 相关知识 1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |).2)默认地,标准的输出为终端(terminal),但是也可 ...

  7. 搭建自己的apache tomcat php mysql 环境和WordPress站点制作

    无论你是web开发人员,还是程序员,拥有一个自己的站点总没有坏处,下面我们就从搭建wordpress的环境来说吧. 1.首先wordpre是用的php语言,所以需要php环境,最基本的数据库也不能缺少 ...

  8. (原)3.2 Zookeeper应用 - 数据的发布与订阅

    本文为原创文章,转载请注明出处,谢谢 数据的发布与订阅 1.应用 服务端监听数据改变,客户端创建/更新节点数据,客户端提供数据,服务端处理 2.原理 客户端监控节点数据改变事件(例如配置信息,下图的c ...

  9. iOS UIScrollView的使用

    一.为什么要用UIScrollView? 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容普通的UIVie ...

  10. C# 多線程&BackgroundWorker概念入門教程

    感謝以下各位作者的貢獻~ 百度經驗舉了個例子,很好理解BackgroundWorker的用途(主要是用來啟動後台線程,而不阻塞調用程式的運行),收藏一下  http://jingyan.baidu.c ...