0

DataGridが私のテーブルに対して行うことは次のとおりです。

<table id="ContentPlaceHolder1_articleList" cellspacing="0" style="border-width:0px;border-collapse:collapse;" headertext="File Name" rules="all">

テーブルから不要な情報を削除するにはどうすればよいですか?

私はcellSpacing、スタイルの何も欲しくない。私はこれらすべてをCSSで処理しますが、これらはインラインであるため、CSS宣言をオーバーライドしています。

ID、rules = "all"(それが何をするのかさえわかりません)またはHeaderTextが存在するかどうかは関係ありませんが、残りを取り除きたいと思います。

4

3 に答える 3

2

Curtが提案したようにRepeater、出力をより細かく制御するためにコントロールを使用できます。もう1つのオプションは、ListViewコントロールよりも多くのオプションを提供するコントロールですRepeater

<asp:ListView ID="ListView1" runat="server">
    <LayoutTemplate>
        <table class="myclass">
            <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
        </table>
    </LayoutTemplate>
    <ItemTemplate>
        <tr>
            <td><%# Eval("ColumnName", "{0:#,###} bytes") %></td>
        </tr>
    </ItemTemplate>
</asp:ListView>
于 2012-04-16T16:57:35.200 に答える
1

テーブルを完全に制御したい場合は、代わりにリピーターを使用することをお勧めします。コントロールとは異なり、DataGridコントロールRepeaterは内部にないHTMLをレンダリングせずItemTemplate、レンダリングされたコードを完全に制御できます。

<table>
  <tr>
    <td>Column Header</td>
  </tr>
  <asp:repeater id="rep" runat="server">
    <itemtemplate>
      <tr>
        <td>
           <%#eval("ColumnName") %>
        </td>
      </tr>
  </asp:repeater>
</table>
于 2012-04-16T16:26:37.073 に答える
0

Eval/DataItemはobject/Stringの戻り値を提供します。3,546バイトの出力に変換するには、整数に変換する必要があります。そのためにはonitemdatabound登録が必要になります。

マークアップ

<asp:ListView ID="ListView1" runat="server" onitemdatabound="rpt_ItemDataBound">
    <LayoutTemplate>
        <table class="myclass">
            <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
        </table>
    </LayoutTemplate>
    <ItemTemplate>
        <tr>
            <td><asp:Label ID="lbl" runat="server" ></asp:Label></td>
        </tr>
    </ItemTemplate>
</asp:ListView>

コードビハインド

protected void rpt_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item)
    {
        Label lbl= (Label)e.Item.FindControl("lbl");
        lbl.Text = String.Format("{0:#,### bytes}", 
              Convert.ToInt32(((YourClassName)e.Item.DataItem).YourProperty);
    }
}
于 2012-04-16T17:09:28.363 に答える