asp.net DataGrid并强制它与我现有的结构一起使用

时间:2012-04-16 15:41:09

标签: asp.net

所以我现有的结构是

<table>
<tr>
    <th>header</th>
</tr>
<tr>
    <td>cotent</td>
</tr>
</table>

DataGrid添加了一些我不希望存在的东西,是否有可能删除这些额外的信息,所以我不必对我的CSS文件进行大量修改?

以下是上表如何查看DataGrid。

<table id="ContentPlaceHolder1_articleList" headertext="File Name" rules="all">
    <tr>
        <td>Header</td> <!-- I need this to be a TH?? -->
    </tr>
    <tr>
        <td>Content</td>
    </tr>
</table>

这里最大的问题是我需要标题行为<th>而不是<td>。我需要该表只是IDrunat="server"不是大优惠,不确定rules="all"的作用。

这是我的asp.net代码。

Page_Load后面的代码:

protected void Page_Load(object sender, EventArgs e)
{
    DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("examfilemanager"));

    articleList.DataSource = dirInfo.GetFiles();
    articleList.DataBind();
}

aspx页面:

<asp:DataGrid Enabled="false" runat="server" ID="articleList" AutoGenerateColumns="false" AlternatingItemStyle-BackColor="#EEEEEE" HeaderText="File Name">
    <Columns>
        <asp:HyperLinkColumn DataNavigateUrlField="Name" DataTextField="Name" HeaderText="File Name" />
        <asp:BoundColumn DataField="LastWriteTime" HeaderText="Last Write Time" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
        <asp:BoundColumn DataField="Length" HeaderText="Filer Server" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,### bytes}" />
    </Columns>
</asp:DataGrid>

1 个答案:

答案 0 :(得分:3)

尝试将UseAccessibleHeader设置为true:

<asp:DataGrid ID="DataGrid1" runat="server" UseAccessibleHeader="true" ...>

如果可能,您确实应该使用GridView控件,并利用DataGrid控件无法使用的许多功能。传统的DataGrid控制在这一点上更像是一个过时的遗物。