0

コード ビハインドに動的に追加された HTML テーブルがあります。

テーブル全体にボーダーを付けることができます。

行ごとにこれを行うにはどうすればよいですか? 各行の下に境界線を追加したい。

実行時にセルにハイパーリンクを追加するにはどうすればよいですか?

私が試したことは

tdr.Width = "100px";
tdr.Attributes.Add("class", "float-left");

row = new HtmlTableRow(); 
cell = new HtmlTableCell();
cell.InnerText = doc;
row.Cells.Add(cell);
tdr.Rows.Add(row);

row = new HtmlTableRow(); 
cell = new HtmlTableCell();
cell.InnerText = "No Timming";
row.Cells.Add(cell);
tdr.Rows.Add(row);

row = new HtmlTableRow(); 
cell = new HtmlTableCell();
cell.InnerText = weekday[i];
row.Cells.Add(cell);
tdr.Rows.Add(row);

そして私のCSS:

<style type="text/css">
    .float-left
    {
        float:left;
        border-style:solid;
        border-width:2px;
        border-color:Black;
    }
</style>
4

3 に答える 3

2

質問の最初の部分では、単純なcssルールを追加することで、マークアップの生成を変更せずに境界線を追加できます。

tr {
  border-bottom: solid 1px black;
} 

about.comとw3cの両方の学校を介して、一般的なスタイリングテーブルに関する概要があります。

border-collapse: collapse;テーブルにcss属性も設定する必要があることに注意してください。

jsFiddleの例を紹介します。

CSSルールをCSSセクションに配置できます(私も追加したことに注意してくださいborder-collapse)。

<style type="text/css">

    tr {
      border-bottom: solid 1px black;
    } 

    .float-left{
        float:left;
        border-style:solid;
        border-width:2px;
        border-color:Black;
        border-collapse: collapse;
    }

</style>

また、float-left css属性を削除して、コードをさらに単純化する.float-leftように変更することも検討できます。table

あなたの質問の2番目の部分について:

実行時にテーブル内の各値にハイパーリンクを追加します

HtmlAnchorClassを使用するだけです。

実際には、簡単な例は次のとおりです。

HtmlAnchor htmlanchor = new HtmlAnchor();
htmlanchor.HRef = "http://www.linkurl.com";
htmlanchor.InnerText = "My Link Text";
//Add it to a cell
cell.Controls.Add(htmlanchor);

これにより、セルにハイパーリンクが追加されます。

ASPリピーターコントロールまたはDataGridコントロールの使用を検討することもできます。これらはそれぞれ、マークアップをテンプレート化するオプションを提供するためです。

于 2013-03-20T13:05:18.087 に答える
1

TR(行)にcssを追加する必要があります

または次のようなインライン境界線:

 row.Attributes.Add("border-bottom", "solid red 1px");
于 2013-03-20T12:53:33.117 に答える
0

@Moondust は正しいですが、Style タグがないため、効果がありません。<tr>さらに、要素にスタイルを設定することはできません。に設定する必要があり<td>ます。

すなわち

ここでの<tr>スタイルは何もしません。します<td>

<tr style="border-color:black;border-style:solid;border-width:thin;">
  <td width="100px" style="border-bottom: black thin solid;">Boarder</td>
  <td style="background-color:#FFFF00;" width="10px"></td>
</tr>

少なくともセル内で下の境界線を実現するには...

row.Cells[0].Attributes.Add("style", "border-bottom: black thin solid;");

したがって、行に対して行うには、セルごとに行う必要があります。ごめん

于 2015-12-14T03:28:20.157 に答える