dbgrid多层次表头显示不全的有关问题

dbgrid多层次表头显示不全的问题
如图:
dbgrid多层次表头显示不全的有关问题
我使用的直接由SQL生成表头,SQL语句如:

 SELECT a.dwbh, b.danwbh,
        LTRIM(RTRIM(dbo.YB_GetDWJGMC(b.danwbh, 2))) AS '客户级别',
        LTRIM(RTRIM(dbo.YB_GetDWJGMC(b.danwbh, 3))) AS '客户级别1', b.dwmch,
        a.ksmch,
        CONVERT(DECIMAL(14, 2), SUM(CASE WHEN a.hztname = '一次性静脉营养输液袋|总计|未开'
                                         THEN a.wkfp
                                         ELSE 0.00
                                    END)) AS '一次性静脉营养输液袋|总计|未开',
        CONVERT(DECIMAL(14, 2), SUM(CASE WHEN a.hztname = '一次性静脉营养输液袋|一次性静脉营养输液袋|未开'
                                         THEN a.wkfp
                                         ELSE 0.00
                                    END)) AS '一次性静脉营养输液袋|一次性静脉营养输液袋|未开'
 FROM   YT_XSHZBB_1_WDJ AS a ,
        mchk AS b ( NOLOCK )
 WHERE  a.dwbh = b.dwbh AND ( a.je <> 0 OR a.ykfp <> 0 OR a.wkfp <> 0 ) AND a.dwbh = 'DWI00000071' 
 GROUP BY a.dwbh, a.ksmch, b.danwbh, b.dwmch
 ORDER BY b.danwbh, a.ksmch ASC 

SQL执行的结果如下图:
dbgrid多层次表头显示不全的有关问题

按理说字段用“|”隔开了,应该可以自动折行的呀,为什么会截断了呢?
各位大大,帮帮忙,谢谢!

------解决思路----------------------
差点被弄糊涂了,怎么DBGrid也支持多表了。

1、上述SQL语句,设计多表头,DBGrid是不支持多表头的,"
------解决思路----------------------
"无效。
2、上述SQL语句,设计多表头,可以在DBGridEh中使用,"
------解决思路----------------------
"有效。

效果图如下:
dbgrid多层次表头显示不全的有关问题

(1)上一个表是DBGridEh,字段用“
------解决思路----------------------
”隔开,可以显示多表头。
(2)下一个表是DBGrid,字段用“
------解决思路----------------------
”隔开,也是无效物。
(3)未能完全验证你的SQL语句正确与否,验证时,仅使用了类似的语句。 

------解决思路----------------------
在使用DBGridEh时,不提供使用SQL语句,设置多表头。直接设置DBGridEh的标题。
代码如下:
// 设置 多层字段栏
  DBGridEh1.UseMultiTitle:=True;
  DBGridEh1.Titlelines:=2;
  DBGridEh1.Columns[0].Title.Caption := '开票信息
------解决思路----------------------
结算年月';
  SetFieldWidth(DBGridEh1.Columns[0],7,10);                                // 这是自定义的设置列宽方法
  DBGridEh1.Columns[1].Title.Caption := '开票信息
------解决思路----------------------
开票日期';
  SetFieldWidth(DBGridEh1.Columns[1],7,10);
  DBGridEh1.Columns[2].Title.Caption := '开票信息
------解决思路----------------------
交款日期';
  SetFieldWidth(DBGridEh1.Columns[2],7,10);
  DBGridEh1.Columns[3].Title.Caption := '开票信息
------解决思路----------------------
受票名称';
  SetFieldWidth(DBGridEh1.Columns[3],7,12);
  DBGridEh1.Columns[4].Title.Caption := '开票信息
------解决思路----------------------
开票金额';
  SetFieldWidth(DBGridEh1.Columns[4],7,10);
 ......