找回密码
 立即注册

QQ登录

只需一步,快速开始

刘君

中级会员

141

主题

335

帖子

942

积分

中级会员

积分
942

活字格认证

刘君
中级会员   /  发表于:2015-3-19 11:33  /   查看:9164  /  回复:12
自定义了单元格控件怎么才能自动适应合并后的单元格尺寸?
合并单元格.png

12 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-3-19 12:26:00
沙发
回复 1楼刘君的帖子

根据当前的信息还无法针对您的问题进行进一步调查。需要和您确认以下信息:
1.能否把自定义单元格的代码发到论坛我们查看?
2.目标效果是整个自定义控件填满合并单元格还是单元格中的图片填满单元格,是否有尝试设置 Cotnrol 的 css 来实现?
回复 使用道具 举报
刘君
中级会员   /  发表于:2015-3-19 14:22:00
板凳
请帮我检查下附件中的代码

WebTest1.rar

3.62 MB, 下载次数: 255

回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-3-19 16:09:00
地板
回复 3楼刘君的帖子

经调查,自定义单元格类型中的 Cell 没有设置 height 和 width 等样式,你可以尝试设置实现,以下是我的测试代码:

  1.         public override System.Web.UI.Control GetEditorControl(string id, System.Web.UI.WebControls.TableCell parent, FarPoint.Web.Spread.Appearance style, FarPoint.Web.Spread.Inset margin, object value, bool upperLevel)
  2.         {

  3.             Table table = new Table();
  4.             table.CellPadding = 0;
  5.             table.CellSpacing = 0;
  6.             table.BorderStyle = BorderStyle.None;

  7.             table.BorderWidth = new Unit(0, UnitType.Pixel);
  8.             //table.Width = new Unit(100, UnitType.Percentage);

  9.             TableRow row = new TableRow();
  10.             TableCell cell = new TableCell();
  11.             cell.VerticalAlign = VerticalAlign.Middle;
  12.             cell.HorizontalAlign = HorizontalAlign.Left;
  13.             cell.Width = new Unit(96, UnitType.Percentage);
  14.             cell.Height = new Unit(100, UnitType.Percentage);

  15.             // 用户可以直接在 TextBox 中输入数据
  16.             TextBox tb = new TextBox();
  17.             tb.Width = new Unit(100, UnitType.Percentage);


  18.             tb.ID = "PopupEditor" + _id;
  19.             // 如果不希望用户直接输入数据,可以将TextBox设置为ReadOnly,这样就可以保证数据的有效性
  20.             tb.ReadOnly = true;
  21.             tb.BorderStyle = BorderStyle.None;
  22.             if (!string.IsNullOrEmpty(_onEnterPopup))
  23.             {
  24.                 tb.Attributes.Add("onkeydown", _onEnterPopup);
  25.             }
  26.             cell.Controls.Add(tb);
  27.             row.Cells.Add(cell);

  28.             cell = new TableCell();
  29.             cell.Width = new Unit(22, UnitType.Pixel);
  30.             cell.VerticalAlign = VerticalAlign.Middle;
  31.             cell.HorizontalAlign = HorizontalAlign.Right;
  32.             cell.Width = new Unit(4, UnitType.Percentage);
  33.             cell.Height= new Unit(100, UnitType.Percentage);

  34.             // 如果用户不想通过输入的方式填写数据,可以点击[检索]按钮,在弹出的窗体中选择需要的数据
  35.             ImageButton img = new ImageButton();
  36.             img.ImageUrl = "~/img/(24,18).png";
  37.             img.BorderStyle = BorderStyle.None;
  38.             img.Width = new Unit(100, UnitType.Percentage);

  39.             if (!string.IsNullOrEmpty(_onClickPopup))
  40.             {
  41.                 img.Attributes.Add("onclick", _onClickPopup);
  42.             }
  43.             cell.Controls.Add(img);
  44.             row.Cells.Add(cell);

  45.             table.Rows.Add(row);
  46.             //table.Style.Add("height", "100%");
  47.             //table.Style.Add("width", "100%");

  48.             return table;
  49.         }
复制代码

评分

参与人数 1满意度 +5 收起 理由
刘君 + 5 谢谢

查看全部评分

回复 使用道具 举报
刘君
中级会员   /  发表于:2015-3-20 23:22:00
5#
Cell 设置 height 和 width 后的确可以,但页面刷新后又恢复成原来的尺寸了,有什么办法保持设置好的的尺寸吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-3-23 10:55:00
6#
回复 5楼刘君的帖子

您好,

我不是十分理解这个问题,在我看来样式是在后台设置的,如果首次加载成功,那么后续的刷新也会成功。

能否提供一个重现问题的 demo 用户调查?

谢谢
回复 使用道具 举报
刘君
中级会员   /  发表于:2015-3-23 17:47:00
7#
自定义控件第一点击正常,关闭弹出窗口后就不正常了。

WebTest1.rar

3.62 MB, 下载次数: 249

回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-3-24 14:10:00
8#
回复 7楼刘君的帖子

问题已经重现,正在调查中,有进一步结果反馈给你。谢谢
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-3-24 16:25:00
9#
回复 7楼刘君的帖子

问题已经发送给产品组查看,我这边收到反馈后会第一时间通知你,谢谢
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-3-24 16:53:00
10#
回复 7楼刘君的帖子

请您尝试直接在后台设置如下代码:

  1.             cell.Width = new Unit(360, UnitType.Percentage);
复制代码
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部