0

string str="";を使用してcodebehideでtdを生成しています。そしてそれを集中させます。

文字列str="";

string msg = "Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello HelloHello Hello Hello Hello HelloHelloHelloHelloHelloHelloHelloHello HelloHello HelloHello HelloHelloVV";

+ msg +

文字列msgの長さを短くすると、tdの高さが低くなり、文字列msgの文字列の長さを長くすると、そのtdの高さが高くなります。実際には、tdに2行のテキストがある場合は常に、スクロールバーを最上部のdivに表示する必要があります。tdのデータはデータベースからのものであり、任意のサイズにすることができます。また、tdの数はn個にすることができます。 (動的)最上部の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 の高さを自分で計算する代わりに、クライアント ブラウザーに計算を依頼することができます。異なる Web ブラウザーと異なるフォント サイズでは、TD の高さが異なる可能性があるため、これは優れています。スクロールバーを追加するには、CSS または JavaScript を使用します。たとえば、div で CSS の max-height および overflow プロパティを使用することができます (常に、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 に答える