【问题标题】:how to determine number of line td will increase in codebehind in asp.net如何确定 td 行数将在 asp.net 中的代码隐藏中增加
【发布时间】:2012-07-16 04:23:51
【问题描述】:

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

字符串 str="";

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

+味精+

我在代码隐藏中生成 td 如果我减少字符串 msg 的长度,则 td 的高度会减少,如果我增加字符串 msg 的字符串长度,则该 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 的数量会增加。请帮助

【问题讨论】:

    标签: asp.net html-table


    【解决方案1】:

    您可以请求客户端浏览器来计算 td 高度,而不是自己计算。这更好,因为在不同的网络浏览器和不同的字体大小上,您的 TD 可以有不同的高度。使用 CSS 或 JavaScript 添加滚动条。例如,您可以尝试在 div 上使用 CSS 最大高度和溢出属性(始终不检查长度,例如使用 CSS 类)。在这里查看CSS Max Height Property 了解一些变体。

    例子

    <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>
    

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

    【讨论】:

    • 但是我在代码隐藏中生成 html 并且 td 生成是动态的,这意味着 td 可以是 n 个数字(2,3,4 任意数字)并且每当 td 有两行文本时,我希望最上面的滚动条div
    • 我在代码隐藏中生成的 html 如下,让我们说
      动态数据来这里
      td>
      动态数据来这里
      我想在 div 上滚动。如果 1st,2nd,3rd td 有 2 行那么我不想滚动,如果第一个 td 有 2 行,第二个有 3 行,那么我想在 div 上滚动。我该怎么做
    • 我已经用示例和更多解释更新了答案。有用请采纳。
    • 但是您的示例仅显示一个 td,但在我的情况下可以有 n 个 td。而且 td 中的数据来自数据库。如果所有 td 只有 2 行,那么我不想要滚动条,如果其中任何一个有 3 行,那么只有我想在 div 上滚动。
    • 如果我使用 max-height: XXem;overflow-y: auto;如果所有的 td 只有两行,并且如果最大高度超出,那么我将滚动。但在这种情况下,我不想滚动,只有在任何 td 有 3 行我想要滚动的情况下。
    猜你喜欢
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多