帮我一步步的分析是怎么操作的
时间: 2024-10-27 11:04:32 浏览: 18
当然可以!以下是根据《自定义查询报表操作说明.pdf》的内容,逐步解析如何进行自定义查询报表的操作:
### 主细表自定义查询报表
1. **打开工具**:
- 打开根目录下的应用程序 `DCDesigner`,登录自定义报表工具。
2. **新增自定义查询**:
- 在工具中新增一个自定义查询报表。
3. **进入设计接口界面**:
- 进入设计接口界面,准备配置查询条件和数据源。
4. **设置设计接口**:
- 创建并设置存储过程,例如:
```sql
create proc [dbo].[sp_CUST_SuiBao20160906]
@Fordno varchar(500),
@FSTdate NVarchar(10),
@FEDdate NVarchar(10)
as
begin
create table #Tmp_COPORD (fCode varchar(500) primary key)
insert into #Tmp_COPORD select distinct fcode from dbo.fn_CvtStringToTable(@Fordno, ',')
select
b.fCCode,
E.fCName,
c.fKitCode,
d.fKitName,
famt = sum(a.fOrdQty * a.fUPWiTax)
from
t_copd_orditem a
inner join t_COPD_OrdMst b on a.fOrdNo = b.fOrdNo
inner join t_BOMM_GoodsMst c on a.fGoodsID = c.fGoodsID
inner join t_COPM_KitMst d on c.fKitCode = d.fKitCode
inner join t_CRMM_CstMst e on b.fCCode = e.fCCode
where
isnull(b.fIfCancel, '') <> '1' and b.fCFlag = '1'
and (a.fOrdNo in (select fCode from #Tmp_COPORD) or isnull(@Fordno, '') = '')
and (b.fOrdRdate >= @FSTdate or isnull(@FSTdate, '') = '')
and (b.fOrdRdate <= @FEDdate or isnull(@FEDdate, '') = '')
group by
b.fCCode, E.fCName, c.fKitCode, d.fKitName
drop table #Tmp_COPORD
end
```
5. **修改资源**:
- 如果字段资源有问题,直接手动修改输出列信息中的描述字段。
6. **维护接口信息**:
- 选择物理主键(通常为单据代号),填写接口描述,保存成功后退出界面。
7. **调整界面**:
- 对每个控件设置对应的参数名称和接口数据源。
9. **设置控件数据源**:
- 数据源设置中,可以选择系统内定的开窗接口或自定义的SQL语句,例如:
```sql
select
订单号 = a.fOrdNo,
客户代号 = b.fCCode,
客户简称 = b.fCNName
from
t_COPD_OrdMst a
inner join t_CRMM_CstMst b on a.fCCode = b.fCCode
where
a.fIfCancel = '0'
```
10. **加入菜单**:
- 参数控件设置完成后,保存报表,填写程序描述,并将其加入到对应模块的菜单下。
11. **最终前台查询结果**:
- 前台展示最终查询结果。
### 多页签自定义查询报表
1. **设置多页签控件**:
- 在界面上设置多页签控件。
2. **将多页签控件填充整个界面**:
- 调整多页签控件的大小,使其填满整个界面。
3. **设置控件**:
- 对每个页签设置 `GridControl` 控件。
4. **新增接口**:
- 新增多个接口,如 `inter订单明细` 和 `inter2出货明细`。
5. **设置接口**:
- 对每个页签分别设置对应的接口代号。
6. **维护页签名称**:
- 绑定细细表接口到父接口代号。
2. **添加 `splitContainerControl` 控件**:
- 在网格中添加 `splitContainerControl` 控件,并设置其扩展属性。
3. **设置 `splitContainerControl` 控件**:
- 在 `splitContainerControl` 中分别添加 `GridControl` 控件,并设置扩展属性。
- 细表接口为父接口代号 `inter`,细细表接口为子接口代号 `inter2`。
4. **维护完成保存报表**:
- 保存报表,最终前台结果如下所示。
### 动态列自定义查询
1. **设置动态列字段**:
- 取消显示需要动态显示的列名,并设置动态列。
2. **设置行列转换**:
- 配置行列转换规则。
3. **设置 BAND**:
- 注意要隐藏列头。
4. **转换控件**:
- 将 `GridView` 转换成 `BandGridView`。
5. **维护完成保存报表**:
- 保存报表,最终前台结果显示动态列的效果。
通过以上步骤,你可以完成自定义查询报表的各种复杂操作。希望这些步骤对你有所帮助!如果有任何具体问题,请随时提问。
阅读全文