Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.net DataGrid向我不想要的表添加额外信息_Asp.net - Fatal编程技术网

ASP.net DataGrid向我不想要的表添加额外信息

ASP.net DataGrid向我不想要的表添加额外信息,asp.net,Asp.net,以下是DataGrid对我的表所做的操作: <table id="ContentPlaceHolder1_articleList" cellspacing="0" style="border-width:0px;border-collapse:collapse;" headertext="File Name" rules="all"> 如何从表中删除不必要的信息 我不想要这种风格的任何东西。我用CSS处理所有这些,因为它们是内联的,所以它覆盖了我的CSS声明 我不在乎ID、ru

以下是DataGrid对我的表所做的操作:

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

如何从表中删除不必要的信息

我不想要这种风格的任何东西。我用CSS处理所有这些,因为它们是内联的,所以它覆盖了我的CSS声明


我不在乎ID、rules=“all”(甚至不知道是什么)或HeaderText是否存在,但我很想去掉其余部分。

如果你真的想完全控制你的桌子,我建议使用一个。与
DataGrid
控件不同,
Repeater
控件不呈现任何不在
ItemTemplate
中的HTML,从而使您能够完全控制呈现的代码

<table>
  <tr>
    <td>Column Header</td>
  </tr>
  <asp:repeater id="rep" runat="server">
    <itemtemplate>
      <tr>
        <td>
           <%#eval("ColumnName") %>
        </td>
      </tr>
  </asp:repeater>
</table>

行标题

如果您真的想完全控制您的桌子,我建议您使用。与
DataGrid
控件不同,
Repeater
控件不呈现任何不在
ItemTemplate
中的HTML,从而使您能够完全控制呈现的代码

<table>
  <tr>
    <td>Column Header</td>
  </tr>
  <asp:repeater id="rep" runat="server">
    <itemtemplate>
      <tr>
        <td>
           <%#eval("ColumnName") %>
        </td>
      </tr>
  </asp:repeater>
</table>

行标题

正如Curt所建议的那样,您可以使用
中继器
控件对输出进行更多控制。另一个选项是
ListView
控件,它比
中继器提供更多选项

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

正如Curt所建议的那样,您可以使用
中继器
控件对输出进行更多控制。另一个选项是
ListView
控件,它比
中继器提供更多选项

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

作为参数,Eval/DataItem将给出object/String返回值。在里面 为了转换为3546字节输出,需要将其转换为 整数。对于该
onitemdatabound
事件,将需要注册

加价 作为参数,Eval/DataItem将给出object/String返回值。在里面 为了转换为3546字节输出,需要将其转换为 整数。对于该
onitemdatabound
事件,将需要注册

加价
这似乎很有效。我确实有一个问题,在我的DataGrid中,我能够使用DataFormatString=“{0:#,###bytes}”来显示3546个字节。这在中继器上是可能的吗?@JamesWilson:是的,你可以在
Eval
函数中做到:
Eval(“ColumnName”,“{0:#,###bytes}”)
@JamesJohnson你是一位学者和绅士,谢谢!顺便说一句,这是个好名字这似乎很有效。我确实有一个问题,在我的DataGrid中,我能够使用DataFormatString=“{0:#,###bytes}”来显示3546个字节。这在中继器上是可能的吗?@JamesWilson:是的,你可以在
Eval
函数中做到:
Eval(“ColumnName”,“{0:#,###bytes}”)
@JamesJohnson你是一位学者和绅士,谢谢!顺便说一句,这是个好名字只是查阅了我可以用listview做的其他事情,我不得不说我更喜欢这个解决方案。再次感谢。我只是查阅了我可以用listview做的其他事情,并且不得不说我更喜欢这个解决方案。再次感谢。人力资源管理,我没有添加任何内容,而是根据詹姆斯的建议将其转换为正确的格式。有没有可能不添加您提到的项目会给我带来错误?我在最后尝试过,它开始像我在帖子中提到的那样起作用。如果它已经在你这边起作用了。那么就好了。@JamesWilson:我不希望使用通过
Eval
函数提供的格式选项会有任何问题。这个例子基本上也在做同样的事情,只是后面的代码需要做更多的工作。@PankajGarg:您不需要将值转换成那样的整数,因为
string.Format
将接受type
object
作为参数并对其应用格式。在代码隐藏中,只使用
DataBinder.Eval(e.Item.DataItem,“ColumnName”、“{0:#、####bytes}”)
Hrm也会更容易,我没有添加任何内容,而是根据James的建议将其转换为正确的格式。有没有可能不添加您提到的项目会给我带来错误?我在最后尝试过,它开始像我在帖子中提到的那样起作用。如果它已经在你这边起作用了。那么就好了。@JamesWilson:我不希望使用通过
Eval
函数提供的格式选项会有任何问题。这个例子基本上也在做同样的事情,只是后面的代码需要做更多的工作。@PankajGarg:您不需要将值转换成那样的整数,因为
string.Format
将接受type
object
作为参数并对其应用格式。在代码隐藏中,只使用
DataBinder.Eval(e.Item.DataItem,“ColumnName”,“{0:#,####bytes}”)也会更容易些。