初学者的一个很难的问题.(35分)

  • 主题发起人 主题发起人 编程傻子
  • 开始时间 开始时间

编程傻子

Unregistered / Unconfirmed
GUEST, unregistred user!
类型 单号 名称 单位 数量 单价 总价
山东(地区分组)
采购商品 CS-01-02 威龙特级酒 瓶 20 1.5 30
采购商品 CS-01-03 珠江啤酒 瓶 20 1.5 30
采购商品 CS-01-04 杭州原装酒 瓶 20 1.5 30
小计: 90

空一行

深圳
采购商品 CS-01-05 威龙特级酒 瓶 20 1.5 30
采购商品 CS-01-06 珠江啤酒 瓶 20 1.5 30
采购商品 CS-01-07 杭州原装酒 瓶 20 1.5 30
小计: 90

合计 180



如上述表格, 另外在"总价"的控件用 美元符表示的。像账务用的那种控件。

我刚刚下了ehlib,sncCurrency但不知道上面的这种表格用什么方法可以实现。
另外还有隔行用不同的颜色表示

解决立刻给分  先谢谢各位朋友
 
如果要山东(地区分组)、深圳和空行,不能用数据感知控件,只能自己用StringGrid写
 
每一个小计后面都空一行,是自己写的吗? 我想做成速达的那种效果。 不知道他是用什么方法
实现的。
 
你这是报表吧?
 
不是报表, 是表格, 
 
效果可能不符合你的要求,解决报表是没问题
create procedure pr
as

begin
declare @CurArea varchar(10)--地区

create table #tbl(类型 varchar(20), 单号 varchar(20),名称 varchar(20), 单位 varchar(10),
数量 int,单价 numeric(10,2),总价 numeric(10,2))
set nocount on
declare AreaGroup cursor
for select distinct(地区) from tbl
open AreaGroup
Fetch next from AreaGroup into @CurArea
while @@Fetch_status=0
begin
insert #tbl(类型) values(@curArea)
insert #tbl select 类型,单号,名称,单位,数量 ,单价,数量*单价 from tbl where 地区=@CurArea
insert #tbl(类型,总价) select '小计:',sum(数量*单价) from tbl where 地区=@CurArea
insert #tbl(类型) values(null)
Fetch next from AreaGroup into @CurArea
end
close AreaGroup
deallocate AreaGroup
insert #tbl(类型,总价) select '合计:',sum(数量*单价) from tbl
select * from #tbl
set nocount off
end

结果

类型 单号 名称 单位 数量 单价 总价
-------------------- -------------------- -------------------- ---------- ----------- ------------ ------------
山东 NULL NULL NULL NULL NULL NULL
采购商品 CS-01-02 威龙特级酒 瓶 20 1.50 30.00
采购商品 CS-01-03 珠江啤酒 瓶 20 1.50 30.00
采购商品 CS-01-04 杭州原装酒 瓶 20 1.50 30.00
小计: NULL NULL NULL NULL NULL 90.00
NULL NULL NULL NULL NULL NULL NULL
深圳 NULL NULL NULL NULL NULL NULL
采购商品 CS-01-05 威龙特级酒 瓶 20 1.50 30.00
采购商品 CS-01-06 龙特级酒 瓶 20 1.50 30.00
小计: NULL NULL NULL NULL NULL 60.00
NULL NULL NULL NULL NULL NULL NULL
合计: NULL NULL NULL NULL NULL 150.00
 
上面的这位兄弟如果要实现表格的那样, 需要怎么写。我想学习一下。报表做当然很容易实现。

 
使用dx控件包中的dxDBGrid,实现你所要求的功能只是小菜一碟而已。
Developer Express Inc/ExpressQuantumGrid Suite
http://www.devexpress.com/
 
我对地区进行分组时, 他前面老是显示一个加减号('+', '-'), 有什么方法让这个东东
去掉呢? 谢谢
 
后退
顶部