比如在数据库中有[姓名][年龄][内容]三个字段,前台要求显示成正规文件格式以便打印。在第一页[姓名][年龄]两个字段为纸张的抬头,[内容]为主体部分.
如果第一页[内容]超过7行,余下部分[内容]移至下一页.
格式如下:
第一页↓
------------------------------------------------------
姓名 张大永     年龄  50
------------------------------------------------------
2006年7月19日下午,张大永和公司同事赵艳发生挣执......
.....................................................
.....................................................
................                                     
.....................................................
.....................................................
...................................(内容)
------------------------------------------------------第二页↓(没有抬头)
------------------------------------------------------
于今天凌晨三点张大永在公司仓库被警方抓获.............
.....................................................
.....................................................
................                                     
.....................................................
.....................................................
...................................(内容)
------------------------------------------------------第二页以后同第二页.
问题是如何控制每页内容文字的行数正好为七行呢?
在.net中str.Length;不区分中文和英文,即一个字符算一个长度。
这个问题应该怎么解决呢?谢谢各位了!

解决方案 »

  1.   

    是的,必须用这种格式,不然打印不出他们要的文件显示格式-_-!
    我感觉最关键是怎么把一页七行可能一共有多少个字符算出来吧?
    不过在.net里把字符串中的 "汉""A""1""#"都认为长度是1,真讨厌:(
      

  2.   

    to 不过在.net里把字符串中的 "汉""A""1""#"都认为长度是1,真讨厌:(用gb2312通过byte来判断,例如:private static int GetCharLength( string strValue )
    {
        if( strValue == null ) return 0;
        Encoding encGB = Encoding.GetEncoding( "gb2312" );
        return encGB.GetByteCount( strValue );
    }
      

  3.   

    To:Knight94(愚翁) 
       你说的是好办法.To:zhangxiaopin(zxp) 
    水晶报表真的可以实现吗?