你可以试着这样做一下:
用DataSet、DataAdapter、DataTable等生成一个临时表或数据集,并把它连接到CrystalReport上,在CrystalReport的设计窗口中设计它的格式。每次用户在输入完成以后,单击打印或完成按钮时,可以自动填充和计算结果,并把它生成在CrystalReport上,然后,调用CrystalReport来进行打印你要的发票上的数据。