0

我有以下代码

List<Department> depts = new List<Department>();

Department.Add(new Department() { DNo = 1, DName = "Accounting", DFloor="6" });
Department.Add(new Department() { DNo = 2, DName = "FInance", DFloor="3" });

我想将此数据绑定到 GridView,以便它输出以下内容。观察每个 th 和 tr 上的类。如何在 ASP.NET 中实现这一点?

<thead>
<tr>
 <th class="DNo">DNo</th>
 <th class="DName">DName</th>
 <th class= "DFloor">DFloor</th>
</tr>
</thead>
<tr>
 <td class="DNo">1</td>
 <td class="DName">Accounting</td>
 <td class="DFloor">6</td>
</tr>
<tr>
 <td class="DNo">2</td>
 <td class="DName">FInance</td>
 <td class="DFloor">3</td>
</tr>
4

3 回答 3

0

您可以尝试使用此代码 - 基于GridView class

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
    <Columns>
    <asp:BoundField HeaderText="DNo" DataField="DNo" />
    <asp:BoundField HeaderText="DName" DataField="DName" />
    <asp:BoundField HeaderText="DFloor" DataField="DFloor" />
    </Columns>
</asp:GridView>

背后的代码

GridView1.DataSource = depts;
GridView1.DataBind();
于 2012-10-11T15:31:48.713 回答
0

列是否自动生成?因为如果是,您需要将其更改为AutoGenerateColumns="False"并设置CssClass两者的属性,Header并且Item

于 2012-10-11T15:32:37.230 回答
0

创建列时,请使用HeaderStyle-CssClassItemStyle-CssClass属性。

<asp:GridView ID="gv"
    AutoGenerateColumns="False"
    runat="server">
    <Columns>
        <asp:BoundField HeaderStyle-CssClass="DNo" ItemStyle-CssClass="DNo" DataField="DNo" HeaderText="DNo" />
        <asp:BoundField HeaderStyle-CssClass="DName" ItemStyle-CssClass="DName" DataField="DName" HeaderText="DName" />
        <asp:BoundField HeaderStyle-CssClass="DFloor" ItemStyle-CssClass="DFloor" DataField="DFloor" HeaderText="DFloor" />
    </Columns>
</asp:GridView>

然后在您的代码后面(Page_Load事件处理程序有效),将您的数据绑定到网格:

gv.DataSource = depts;
gv.DataBind();

通常,人们会将其包装在一个if (!IsPostBack) { }块中。

于 2012-10-11T15:33:31.887 回答