0

我正在使用字符串 str =“”在代码隐藏中生成 td;然后浓缩。

字符串 str="";

string msg="你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你你你

+味精+

如果我减少字符串 msg 的长度然后 td 的高度减小并且如果我增加字符串 msg 的字符串长度然后该 td 的高度增加,我将在代码隐藏中生成 td。实际上我希望每当 td 有两行文本时,我希望滚动条出现在我最上面的 div 中。td 中的数据来自数据库,可以是任意大小。也可以有 n 个 td (它是动态的)。我想要最上面的 div 中的滚动条。

为此,我做了一些 RND

//first i have find how much lengh the first line can take 
//let say 200 then i have check 

if(len>400)
{
    divid.Attributes.Add("style", "height:50px;overflow:auto;");
}

它给了我我想要的,但在某些情况下它失败了,这不是 100% 的解决方案。我想要一个 100% 的解决方案。我想确定行 td 的数量会增加。请帮助

4

1 回答 1

0

您可以要求您的客户端浏览器执行此操作,而不是自己计算 td 高度。这更好,因为在不同的网络浏览器和不同的字体大小上,您的 TD 可以有不同的高度。使用 CSS 或 JavaScript 添加滚动条。例如,您可以尝试在 div 上使用 CSS 最大高度和溢出属性(始终不检查长度,例如使用 CSS 类)。在此处查看CSS 最大高度属性以获取某些变体。

例子

<html>
<head>
    <style>
    .myDiv {
           max-height: 3em;
           overflow-y: auto;
    }
    </style>
</head>
<body>
    <div class="myDiv">
      <table>
        <tr>
          <td>
             My line of code<br>
             My line of code<br>
             My line of code
          </td>
        </tr>
      </table>
    </div>
</body>
</html>

PS 并在连接字符串时更好地使用 StringBuilder。它会更有效地工作。

于 2012-07-15T18:22:17.923 回答