Foxtable(狐表)用户栏目专家坐堂 → 请问如何代码设定副表字符列各个单元格对齐方式 [已解决]


  共有4141人关注过本帖树形打印复制链接

主题:请问如何代码设定副表字符列各个单元格对齐方式 [已解决]

帅哥哟,离线,有人找我吗?
km007
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:481 积分:5789 威望:0 精华:0 注册:2016/1/28 2:59:00
请问如何代码设定副表字符列各个单元格对齐方式 [已解决]  发帖心情 Post By:2020/1/13 23:32:00 [只看该作者]

请问如何代码设定副表字符列各个单元格对齐方式?

例如 表A 第一列(字符型)

我想将第一列的第一行第三行 单元格内容 靠右显示,第二行单元格内容居中显示,第四行单元格内容靠左显示

请问如何用代码去设置呢?


意思是:我想实现的是 同一列数据,不同单元格 不同的靠齐显示方式
[此贴子已经被作者于2020/1/14 14:27:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/14 8:34:00 [只看该作者]

这个没有办法,同一列数据只能是一种对齐方式。

 回到顶部
帅哥哟,离线,有人找我吗?
km007
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:481 积分:5789 威望:0 精华:0 注册:2016/1/28 2:59:00
  发帖心情 Post By:2020/1/14 11:29:00 [只看该作者]

如果有 DrawCell 事件代码可以吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/14 11:36:00 [只看该作者]

理论上是可以的。就是超长换行处理比较麻烦,并且数据多了绘制就比较卡了

 回到顶部
帅哥哟,离线,有人找我吗?
km007
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:481 积分:5789 威望:0 精华:0 注册:2016/1/28 2:59:00
  发帖心情 Post By:2020/1/14 11:46:00 [只看该作者]

Select Case e.Col.Name
    Case "金额"
        Select Case e.Row.IsNull(e.Col.Name)
            Case False
                Select Case e.Row("日期")
                    Case "1月"
                        '该单元格内容靠右显示
                    Case "分类"
                        '该单元格内容居中显示
                End Select
        End Select
End Select

请问红色字这里的代码应该怎么写呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/14 12:11:00 [只看该作者]

麻烦:http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=106469&skin=0

首先,需要计算文字的宽度,参考上面MeasureString的用法
其次判断单元格的宽度,然后计算绘制的位置,比如靠右:绘制起始左边距 = 单元格的宽度 - 文字的宽度

 回到顶部
帅哥哟,离线,有人找我吗?
km007
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:481 积分:5789 威望:0 精华:0 注册:2016/1/28 2:59:00
  发帖心情 Post By:2020/1/14 14:28:00 [只看该作者]

图片点击可在新窗口打开查看 问题解决,谢谢

 回到顶部