【发布时间】:2011-10-28 03:34:57
【问题描述】:
Scenario:我有一个带有 Gridview 的 ASPX 页面。每一行都有一个列标题和它的值。在记录的末尾有一个通用行。
我的问题在于格式和 CSS。
我希望输出如下(我尝试过格式化,但发布后它会丢失)
|客户姓名 |微软 |
|客户城市 |西雅图 |
| |
|客户姓名 |道琼斯 |
|客户城市 |纽约 |
客户名称上方以该单元格为中心。同样,它的价值也是(微软)。此外,CustomerName 用深黑色着色,“Microsoft”用黑色着色。
'-----' 和 "|"实际上是表格边框/分隔符。典型的有边框、横线和竖线的表格。
请提出建议。下面是我的代码。
<div style="width:400px; font-family:Arial; font-size:small">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
Width="100%" GridLines= "Horizontal">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<div style="color:Blue;font-weight:bold">
<br />
<tr>
<td><asp:Label ID="Label5" runat="server" Text='Customer NAME' cssclass ="blackboldhdr" ></asp:Label></td>
<td><asp:Label ID="Label1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"DealerName") %>' cssclass ="blackboldtxt"></asp:Label></td>
</tr>
<tr>
<td><asp:Label ID="Label2" runat="server" Text='Customer City'></asp:Label></td>
<td><asp:Label ID="Label3" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"City") %>'></asp:Label></td>
</tr>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<style>
.blackboldtxt {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color:black;
font-weight: bold;
}
.blackboldhdr
{
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
/*color:#FFFFFF;*/
background-color: #2A3C54;
width: 152px;
text-align:center;
}
</style>
【问题讨论】:
-
我认为你的 CSS 没有做你想做的事?它是如何出现的?您可能还想尝试老式的 Repeater 控件,而不是尝试强制 GridView 执行多个表格行。
-
是的,CSS 没有达到我的预期。我尝试使用中继器但没有成功。 Gridview 按照 CSS 进行格式化有问题吗?
-
您能否描述一下页面在运行时的实际显示方式以及它与您希望的显示方式有何不同?
-
我附上了我得到的和我正在寻找的快照。谢谢
-
您的 HTML 格式错误可能是问题所在。 GridView 将每一列吐出到一个表格单元格中,您正试图在其中写出行。我会使用中继器,或者将所有内容包装在该列内的 table 标记中。
标签: asp.net gridview css formatting