<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Null_All的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Null_All</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Null_All]]></copyright><item><title><![CDATA[文章标题]]></title><link>https://blog.csdn.net/Null_All/article/details/55044322</link><guid>https://blog.csdn.net/Null_All/article/details/55044322</guid><author>Null_All</author><pubDate>Mon, 13 Feb 2017 08:53:50 +0800</pubDate><description><![CDATA[将“不选”改成其他文字 
勾选了之后，会在下拉菜单中显示不选选项，如下图： 
如果有业务需求，希望修改这里的默认文字，比如勾选它代表“全国”，这样更方便理解（特别是模板做了处理，参数为空选出全部值），此时，可以给该下拉框设置初始化后事件：this.options.name4Empty = "全国";保存，预览，便可看到效果：]]></description><category></category></item><item><title><![CDATA[帆软FineReport——获取控件及控件方法]]></title><link>https://blog.csdn.net/Null_All/article/details/54409379</link><guid>https://blog.csdn.net/Null_All/article/details/54409379</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 15:53:38 +0800</pubDate><description><![CDATA[方法名
  方法
  说明  取值
  Widget.getValue()
  获取控件值
  赋值
  Widget.setValue()
  给参数赋值
  重置
  Widget.reset()
  清空数据
  可见
  Widget.visible()
  设置控件可见
  不可见
  Widget.invisible()
  设置控件不可见
  是否可见
  Widget.isVisib]]></description><category></category></item><item><title><![CDATA[帆软FineReport_自增长序号]]></title><link>https://blog.csdn.net/Null_All/article/details/54409088</link><guid>https://blog.csdn.net/Null_All/article/details/54409088</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 15:29:27 +0800</pubDate><description><![CDATA[假设数据库主键id在数据集里拽到了B3单元格中，那么在B3单元格左侧的单元格也就是A3单元格中，公式写：&B3]]></description><category></category></item><item><title><![CDATA[帆软FineReport_单元格样式，有图标，不用双击才能输入]]></title><link>https://blog.csdn.net/Null_All/article/details/54409021</link><guid>https://blog.csdn.net/Null_All/article/details/54409021</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 15:24:06 +0800</pubDate><description><![CDATA[当把单元格设置成文本控件或者别的控件的时候，必须得先单击一下，然后再点一下才会有操作。原谅我没研究过GIF 
鼠标放在单元格上： 
第一次点击效果： 
第二次点击效果： 
感觉特别别扭还不美观。 
所以我闲下来的时候就随便试试功能，无意中发现了一个非常简单的方法，并且不用手动话外框。1，”模板“—”模板Web属性“ 
2，在”填报页面设置“标签下，把”直接显示控件“打勾，好了]]></description><category></category></item><item><title><![CDATA[帆软FineReport_多sheet填报，点击按钮保存全部(数据库表增加一行功能)]]></title><link>https://blog.csdn.net/Null_All/article/details/54408852</link><guid>https://blog.csdn.net/Null_All/article/details/54408852</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 15:13:02 +0800</pubDate><description><![CDATA[和保存大概是一样的，但是只能在其中的一个sheet中添加id值，否则会报错，好像翻译过来是“主键ID重复”，什么primary id忘了是什么提示了，这个问题也想了挺半天，最后联系的客服，之前做过的是用保存按钮点击事件手动获取sheet1中ID单元格的值，然后传给sheet2并赋值，getCellValue（sheet号，单元格列，单元格行，这样做不行，帆软机制有些搞不清，但确实能够是单元格内容实现]]></description><category></category></item><item><title><![CDATA[帆软FineReport_单sheet填报，多sheet填报，点击按钮保存全部(数据库修改功能)]]></title><link>https://blog.csdn.net/Null_All/article/details/54408535</link><guid>https://blog.csdn.net/Null_All/article/details/54408535</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 14:47:45 +0800</pubDate><description><![CDATA[1，在参数面板拽出来一个button，添加点击事件：contentPane.verifyAndWriteReport(true);//true为保存所有sheet，校验
2，在sheet1里，数据集查询把ID等字段拖拽到单元格A1，同样在“模板”–“模板填报属性”添加ID等所有该sheet中出现的字段，并指向该单元格。  
3，.如果sheet2中也有该数据库表的别的字段，还需要在sheet2中同样]]></description><category></category></item><item><title><![CDATA[帆软FineReport_删除数据库一行(注意：备份好数据库)]]></title><link>https://blog.csdn.net/Null_All/article/details/54408429</link><guid>https://blog.csdn.net/Null_All/article/details/54408429</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 14:40:50 +0800</pubDate><description><![CDATA[1，在单元格面板中，添加一个按钮控件，按钮类型为删除行，指定单元格为数据库中要删除的表的主键，我这里是同时删除了两个表，left on相关联。 
2，之后在工具栏“模板”–“报表填报属性”中添加两个id字段都指向主键ID的单元格（不用添加别的字段），选择“智能提交”，如果是“删除提交”可能会出现把整个数据库都删除掉。（这个删除之前都快把我和同事整疯了，数据库表一顿导入导出）  
一定要备份好数据库]]></description><category></category></item><item><title><![CDATA[帆软FineReport_重复、冻结标题行]]></title><link>https://blog.csdn.net/Null_All/article/details/54408342</link><guid>https://blog.csdn.net/Null_All/article/details/54408342</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 14:33:16 +0800</pubDate><description><![CDATA[1，右键行号，选择  
,2.选2，择要重复的行，之后才可以冻结行，“模板”—“重复与冻结”设置 
,3,333，勾选要重复的行，重复的行就是翻到下一页仍会出现该行，因为我留出来第一行个空白区域，所以是第一行和第二行都重复了 
 
4，冻结，冻结就是当鼠标下滑时候，还会有标题行]]></description><category></category></item><item><title><![CDATA[帆软FineReport_从父窗口跳转到子页面，根据传参的不同，使单元格隐藏、不可用。]]></title><link>https://blog.csdn.net/Null_All/article/details/54407863</link><guid>https://blog.csdn.net/Null_All/article/details/54407863</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 13:46:33 +0800</pubDate><description><![CDATA[由于我把”编辑“和”查看“放在了同一个页面，所以在跳转到”编辑“页面时，要使单元格”可用“；而跳转到”查看“页面时，要使单元格”不可用“ 
具体方法如下： 
1，在父窗口中，文本控件，编辑文本框内容为”查看“、蓝色、下划线，超级链接/模板名称.cpt&op=view&aa=1//这里的aa=1为要传递的参数变量名称为aa，值是12，在子页面中，随便在一个单元格内，写上=$aa（aa的值为1，就被传进]]></description><category></category></item><item><title><![CDATA[帆软FineReport_下拉菜单内容并添到文本框，自动查询]]></title><link>https://blog.csdn.net/Null_All/article/details/54406919</link><guid>https://blog.csdn.net/Null_All/article/details/54406919</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 11:20:42 +0800</pubDate><description><![CDATA[参数面板中的下拉1，数据集 
select * from 表名 where 字段名='${自己定义参数名假设是aa}' 
点击铅笔打开参数面板，右下角会生成参数aa，点击aa会在参数面板自动生成控件，把鼠标放在控件上，有个扳手的图标，设置成下拉控件。2，再定义数据集，更改字段里的内容SELECT 字段名,case 字段名 when '0' then '下拉内容1' when '1' then '下拉]]></description><category></category></item><item><title><![CDATA[帆软FineReport_数据库表中插入一行内容]]></title><link>https://blog.csdn.net/Null_All/article/details/54406546</link><guid>https://blog.csdn.net/Null_All/article/details/54406546</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 10:51:27 +0800</pubDate><description><![CDATA[在新表中新建模板,在单元格中新建按钮控件,然后工具栏-模板填报属性-窗口中”智能填报属性”-智能添加单元格(鼠标挨个点击单元格与之对应)  
百度经验插入删除行 
帆软文档插入删除行]]></description><category></category></item><item><title><![CDATA[帆软FineReport_跳转页面的不同方法]]></title><link>https://blog.csdn.net/Null_All/article/details/54406172</link><guid>https://blog.csdn.net/Null_All/article/details/54406172</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 10:20:47 +0800</pubDate><description><![CDATA[1，超链接跳转 
最好能直接点击”选择文件夹的按钮“ 
 
其中， 
&op=view为只能观察，不能修改。 
&op=write为跳转的页面为填报预览，可以有增、删、改操作。 
&aa=1为向下级页面传递的参数，参数为变量为aa，值为1 
下面的apparatusID=L3也是传递参数，但是是固定的值，是单元格L3的值，参数变量名为apparatusID。子页面接受参数aa：在单元格中写上=$aa]]></description><category></category></item><item><title><![CDATA[帆软FineReport_数据集中添加控件参数]]></title><link>https://blog.csdn.net/Null_All/article/details/54406052</link><guid>https://blog.csdn.net/Null_All/article/details/54406052</guid><author>Null_All</author><pubDate>Fri, 13 Jan 2017 10:08:13 +0800</pubDate><description><![CDATA[1，普通参数：select * from 表名 where 字段='${自己定义参数}'2，如果控件中添加查询的内容为空，则全部都显示(单表)：```
SELECT * FROM 表名 where 1=1 
${ if(len(自己定义参数1)==0,"","and 字段1='"+自己定义参数1+"'")} 
${ if(len(自己定义参数2)==0,"","and 字段2='"+自己定义参数2+]]></description><category></category></item><item><title><![CDATA[帆软记录]]></title><link>https://blog.csdn.net/Null_All/article/details/53893030</link><guid>https://blog.csdn.net/Null_All/article/details/53893030</guid><author>Null_All</author><pubDate>Tue, 27 Dec 2016 09:44:21 +0800</pubDate><description><![CDATA[**1,添加控件参数:**select * from 表名 where 字段='${自己定义参数}'2,跳转到cpt:FR.showIframeDialog({
url:"ReportServer?reportlet=报表名.cpt&op=write",//op=write开启填报预览
title:"title",
width:500,
height:600
});或者:ar $iframe = $]]></description><category></category></item><item><title><![CDATA[回调函数]]></title><link>https://blog.csdn.net/Null_All/article/details/52820001</link><guid>https://blog.csdn.net/Null_All/article/details/52820001</guid><author>Null_All</author><pubDate>Fri, 14 Oct 2016 23:42:51 +0800</pubDate><description><![CDATA[现在自学安卓三个月了，之前很长一段时间纠结于什么是回调函数、回调机制弄的一脸懵，于是今天为了彻底弄明白怎么回事，也下了点小功夫，同时也希望看过我这篇文章的，可以明白的更透彻一些，牛群们请绕行请轻拍...
网上举的那些例子我就不再赘述了，什么领导给下属安排任务，妈妈叫小明吃饭等等
回调最重要用到了继承/接口、多态
这里我举的例子是什么呢？-------就叫做“**一千种死法**”吧总共5个类，其实也就]]></description><category></category></item><item><title><![CDATA[android_listView一些简单用法（动态）]]></title><link>https://blog.csdn.net/Null_All/article/details/52637971</link><guid>https://blog.csdn.net/Null_All/article/details/52637971</guid><author>Null_All</author><pubDate>Fri, 23 Sep 2016 14:36:47 +0800</pubDate><description><![CDATA[刚学Android的时候，ListView和ArrayAdapter困扰了我将近两个礼拜的时间，现在自学了两个多月，明白了一些，安卓的大体架构，app的生成有一个差不多的思路，自己跟着书做完了一个项目，留个纪念。这是我的第一篇文章，讲的都是大白话，希望在不久的以后也能成为你们一样的大神级人物，教课写书，也同时鼓励年龄稍大的像我一样快30岁了才学的java（培训班的老师很水，项目都没带，三大框架只讲了]]></description><category></category></item><item><title><![CDATA[android_是否确认退出提示框]]></title><link>https://blog.csdn.net/Null_All/article/details/52095501</link><guid>https://blog.csdn.net/Null_All/article/details/52095501</guid><author>Null_All</author><pubDate>Tue, 02 Aug 2016 16:29:02 +0800</pubDate><description><![CDATA[private long exitTime = 0;


    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){]]></description><category></category></item></channel></rss>