如何在 Gridview 使用 Javascript 中从数据库设置文本区域行数

How to Set textarea rows number from dataBase in Gridview use Javascript

在 Gridview 列中,当我尝试从数据行设置 textarea 行数时,我有 textarea 不起作用 我试试:

<Columns>
  <asp:TemplateField>
    <ItemTemplate>
      <textarea class="form-control pt-0 pb-0 pl-1 pr-1" rows="myFunction(<%# Eval("qustionText").ToString() %>)" wrap="soft"><%# Eval("qustionText") %></textarea>                                
    </ItemTemplate>
  </asp:TemplateField>
</Columns>

我的 javascript 页面末尾的代码是:

<script>
  function myFunction(xVal) {
  var rows = xVal.split("\n");
  return rows.length;
 };
</script>

谢谢。

您可以在页面加载时设置文本区域的行属性。

        var grdvw = document.getElementById('<%= grdView.ClientID %>');
        for (var rowId = 1; rowId < grdvw.rows.length; rowId++) {
            var txtarea = grdvw.rows[rowId].cells[0].children[0];
            var rows = txtarea.value;
            rows = rows.split("\n");
            txtarea.setAttribute("rows",rows.length);
        }