【问题标题】:How Do You Horizontally Center the Contents in a Google Apps Script Flextable?如何将 Google Apps 脚本 Flextable 中的内容水平居中?
【发布时间】:2014-01-30 00:46:46
【问题描述】:

我正在构建我的第一个 Google Scripts Web 应用程序。

我在 Google Apps 脚本中使用 FlexTable 来显示我的内容。

我一直在愉快地使用以下内容为单元格中的内容设置各种 CSS 样式:

FlexTable.setStyleAttributes(row,col,{attribute: "value"});

但是,它似乎根本不响应 marginLeft 或 marginRight。如何使 FlexTable 单元格的内容居中?

感谢您的关心。

【问题讨论】:

    标签: google-apps-script centering flextable


    【解决方案1】:

    好的,我有答案了。我正在成功地对齐单元格内的文本。但是,似乎我不是因为 CaptionPanel 左对齐了我的 FlexTable。

    注意:我通过为 FlexTable 单元格分配高对比度背景颜色来解决这个问题。

    我的解决方案(也许只是一种解决方法)是使用 setWidth 使 FlexTable 单元格填充 CaptionPanel 的宽度。

    感谢山姆的谈话。您的反馈帮助我建立了信心,相信我使用 FlexTable 所做的事情是正确的,从而解决了这个问题。

    【讨论】:

      【解决方案2】:

      以下代码适用于灵活表格单元格中的文本。

      //center for row
      flexTable.setRowStyleAttribute(0, 'textAlign', 'center');
      
      //for cell
      flexTable.setText(0, 0, "Some Text").setStyleAttribute(0, 0, 'textAlign', 'center');  
      

      【讨论】:

      • 山姆,谢谢你的回复。如果我是单独设置它还是在一组中设置它应该没有区别,但是我继续用你的代码替换了我的代码,它仍然没有居中。我期望可以工作,但事实并非如此。我正在 Chrome 和 Firefox 中查看它。有趣的是,这是我在这个应用程序中创建的最简单的表格。它只有一个细胞。 :-( 再次感谢您尝试帮助我。
      • 我从数组中传递一个数值,即 flexTable.setText(0, 0, sheet[1][0]).setStyleAttribute(0, 0, 'textAlign', 'center '); sheet[1][0] 中的值是数字,而不是字符串。我认为这不是问题,但这可能是一个问题吗?抱歉,我不确定如何获取此评论以将我的代码呈现为代码...
      • 将数字转换为字符串,你应该是金色的:var numAsString = sheet[1][0].toString(); flexTable.setText(0, 0, numAsString).setStyleAttribute(0, 0, 'textAlign', 'center');
      • 山姆,我试过了,即使使用你的确切代码,但它仍然没有居中...... :-(
      • 不确定在这种情况下您的问题可能是什么。如果没有看到您的其余代码,就很难提供任何进一步的建议。我唯一可以建议的是将您的 flexTable 添加到某种面板中,然后再将其添加到 UiApp,如果您还没有的话。
      猜你喜欢
      • 2023-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多