【问题标题】:Google Apps Script Grid Column Text Align to CenterGoogle Apps 脚本网格列文本居中对齐
【发布时间】:2014-10-29 13:13:10
【问题描述】:
grid.setWidth('600px')
  .setBorderWidth(0)
  .setCellPadding(10)
  .setCellSpacing(0)
  .setWidget(0, 0, app.createLabel(''))
  .setWidget(0, 1, app.createLabel('Not Qualified'))
  .setWidget(0, 2, app.createLabel('Directed'))
  .setWidget(0, 3, app.createLabel('Skilled'))

  .setWidget(1, 0, app.createLabel('Manager'))
  .setWidget(1, 1, pmRadio1) // Radio Button
  .setWidget(1, 2, pmRadio2) // Radio Button
  .setWidget(1, 3, pmRadio3) // Radio Button

  .setColumnStyleAttribute(1, "text-align", "center")

我想将单选按钮居中对齐到标题标签“经理”。我在setColumnStyleAttribute 中将text-align 指定为center。但它不起作用。

也尝试了以下代码。不工作

  var tt = {'text-align': 'center'}
  grid.setColumnStyleAttributes(1, tt)

第一列应左对齐,第二列应居中对齐。

【问题讨论】:

    标签: css google-apps-script google-sites


    【解决方案1】:

    documentation for setColumnStyleAttribute() method:属性名必须是camelCase,所以用'textAlign'代替'text-align'

    更新

    由于您使用标签小部件填充网格单元格,因此您必须使用 .setStyleAttribute('textAlign', 'center') 将样式应用于单个标签,或使用网格的 .setStyleAttributes(row, column, {attributes}) 方法将样式应用于包含标签/小部件的单元格。

    您尝试使用的.setColumnStyleAttribute(column, attribute, value) 方法在网格表中创建<colgroup> 元素,并将样式应用于colgroup 中指定的<col> 元素。但是,most of style attributes are not supported in <col> element in HTML5,包括 text-align 属性 - 这就是为什么您看不到使用此方法的效果。

    【讨论】:

    • 试试align 而不是textAlign。如果我没记错的话(很久没有使用 UI Service),UI Grid 创建了一个<table> html 元素,所以列将是<td> 元素,它使用align 属性。
    • 噢!您正在使用标签填充网格,这些标签在网格的单元格内创建 <div> 元素!您必须将.setStyleAttribute("textAlign", "center") 应用于您的标签小部件,而不是网格的列。或者,使用.setText() 方法而不是.setWidget() 用纯文本填充您的网格 - 然后您可以将样式应用于网格列。
    • 我已更新我的答案以包含上述说明
    猜你喜欢
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    相关资源
    最近更新 更多