找回密码
 立即注册

QQ登录

只需一步,快速开始

JeffryLI
葡萄城公司职员   /  发表于:2017-9-27 16:47:33
11#

您好,代码如下:
  1. double compare = 1;
  2.                         newwid = this.Width;
  3.                         Console.WriteLine(oldwid + ":" + newwid + "\n");
  4.                         if (tempwid != 1)
  5.                                 compare = Math.Round((1.0 * tempwid / newwid), 3);
  6.                         else
  7.                                 compare = Math.Round((1.0 * oldwid / newwid), 3);
  8.                         C1DisplayColumnCollection dd = c1TrueDBGrid1.Splits[0].DisplayColumns;

  9.                         for (int i = 1; i <= dd.Count; i++)
  10.                         {
  11.                                 dd[i].Width = (int)Math.Round((1.0 * dd[i].Width / compare), 0);
  12.                         }
  13.                         tempwid = newwid;
复制代码

这个我测试了下不适用于有水平滚动条的C1TrueDBGrid,希望能帮到您。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-9-27 17:16:54
12#
程序执行时跳出?
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-9-27 17:19:57
13#
是么原因?
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-9-27 17:20:36
14#
使用:for (int I = 0; I < c1TrueDBGrid1.Columns.Count; I++)
            {
                int ColWidth = c1TrueDBGrid1.Splits[0].DisplayColumns[I].Width;
                c1TrueDBGrid1.Splits[0].DisplayColumns[I].Width = (int)Math.Round((1.0 * ColWidth / compare), 0);
            }
可以实现。
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-9-27 17:37:10
15#
szpzr 发表于 2017-9-27 17:20
使用:for (int I = 0; I < c1TrueDBGrid1.Columns.Count; I++)
            {
                int ColW ...

赞!
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-9-27 18:24:49
16#
谢谢您的指教!
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-9-28 08:45:49
17#
szpzr 发表于 2017-9-27 18:24
谢谢您的指教!

客气了。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部