TX Text Control文字处理教程(10)创建报价单

该示例程序演示如何在办公系统中使用Text Control。办公系统的主要功能就是根据数据库中的数据来创建所需的文档。例如,根据地址信息数据库和商品信息数据库来创建一个订单。 
        示例程序分两步完成,第一步只包含从地址信息数据库中取的数据,第二步中才添加其它的功能。 
本章节相应的源代码可以在TX Text Control.NET的安装目录中找到: 
        Samples\WinForms\VB.NET\ Quote Generator 
        Samples\WinForms\CSharp\ Quote Generator 
第一步:创建报价单 
        程序启动时,DataGrid中显示了所以的地址信息,示例中使用的数据来自于XML文件。 
TX Text Control文字处理教程(10)创建报价单

 


  1. [C#]  
  2. DataSet dsAddress = new DataSet ("address");  
  3. dsAddress.ReadXml("..\\..\\address.xml");  
  4. gridAddress.DataSource = dsAddress;  
  5. gridAddress.DataMember = "address_record"

选择File/New Quote菜单,会根据当前DataGrid的选中行来创建一个文档,具体方法如下: 
打开一个包含Text Control的窗体,同时加载所需的样式表,该样式表将作为最终文档的模板,其中包含所有文档中相同部分的文本,例如:为了答复贵方的询价并根据我们的一半业务处理流程,我们很高兴... ...;并且插入一些需要从数据库中取值的占位字符,例如:地址、日期等等;同时定义字体的大小、公司Logo、文档布局,所以,最终生成的文档都有相同的显示样式。 
TX Text Control文字处理教程(10)创建报价单 
当加载该样式表、占位字符也用数据库中的数据替换之后,我们就得到了一个包含真是地址、名字、客户号和日期的报价单: 
TX Text Control文字处理教程(10)创建报价单

第二步:添加产品信息 
在你阅读实际代码之前,你可能想运行程序了解它的具体功能,下面将简单介绍一下它的基本功能: 
1.        启动程序后看到的是一个主窗体,窗体中显示了一些客户的地址信息,选择其中的一条信息 
2.        点击File/New Quote菜单项,将会根据选择的客户信息来创建一个报价单 
3.        点击Insert/Article 菜单项,选择一个商品,点击OK按钮,该产品的信息将会自动添加到报价单中 
4.        输入需要产品数据,系统会自动总价格 
5.        重复步骤三中的操作,添加更多的产品信息添加到报价单中。如果需要删除报价当中某一产品的信息,只需将光标停放在该行,然后点击Edit/Delete菜单项。 
6.        最后,点击File/Print菜单项打印该的报价单。 
为了添加产品的相关信息,我们需要添加一个名为Article的数据库,Article中的数据与Address中的数据一块显示在主窗体中。 
TX Text Control文字处理教程(10)创建报价单 
        产品信息列表最好以表格形式显示,Text Control提供了表格操作相关的功能,可以输入产品ID、描述和价格,同时还可以对表格中的数据进行计算操作。为此,我们添加一个表格,调整列宽、文字间距和表头信息。最终效果如下: 
TX Text Control文字处理教程(10)创建报价单 
        在Advanced菜单中添加一个插入表格的菜单项,通过该菜单项在文档中插入表格。同时可以通过Format/Table菜单项来调用Text Control的表格属性设置对话框,可以在对话框中调整表格线,背景色等属性。 
        接下来就可以将Article中的数据添加到表中。示例程序中的ArticleTable类演示了如何操纵表格、行、列和单元格等对象。当用户选中Article中的一个产品时,程序将进行以下操作: 
1.        检查当前输入位置是否在Article表格的数据行,如果不在数据行,程序将第一个数据行作为将要插入数据的行。 
2.        将选中的产品编号、描述和价格插入到第一步中得到的行中。 
3.        在表格中触发Changed事件之后,程序会自动计算总金额。



本文转自 powertoolsteam 51CTO博客,原文链接:http://blog.51cto.com/powertoolsteam/774849,如需转载请自行联系原作者

上一篇:Faceless —— 开源的匿名社交应用


下一篇:云计算推动下一代IDC行业发展