C# 正在尝试在此gridview中为headertext加下划线
我试图在整个标题文本下面加下划线,使其看起来像下面的图片(标记为“试图使其看起来像”)。但它不会在整个标题文本中带有一致的下划线。谢谢你的帮助 图片中的“试图让它看起来像”部分就是我想要的样子 图片中“看起来像现在”的部分就是它现在的样子 代码附在下面C# 正在尝试在此gridview中为headertext加下划线,c#,css,asp.net,gridview,C#,Css,Asp.net,Gridview,我试图在整个标题文本下面加下划线,使其看起来像下面的图片(标记为“试图使其看起来像”)。但它不会在整个标题文本中带有一致的下划线。谢谢你的帮助 图片中的“试图让它看起来像”部分就是我想要的样子 图片中“看起来像现在”的部分就是它现在的样子 代码附在下面 <asp:GridView runat="server" ID="grdvwDepositTransaction" AutoGenerateColumns="false" DataKeyNames="St
<asp:GridView runat="server" ID="grdvwDepositTransaction"
AutoGenerateColumns="false" DataKeyNames="Status"
OnRowCommand="grdvwDepositTransaction_RowCommand" ShowHeaderWhenEmpty="true" OnRowDataBound="grd_RowDataBound"
CssClass="grid">
<Columns>
<asp:TemplateField>
<ItemTemplate>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="DepositEntry.cardNumber" HeaderText="Card Number" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="DepositEntry.accountNumber" HeaderText="Account Number" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="DepositEntry.firstName" HeaderText="Customer Name" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="DepositEntry.transactionDateTime" HeaderText="Transaction Date/Time" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="DepositEntry.cashAmount" HeaderText="Cash Amount" ItemStyle-CssClass="mediumColumn columnCenter" />
<asp:BoundField DataField="DepositEntry.depositAmount" HeaderText="Envelope Deposit Amount" ItemStyle-CssClass="mediumColumn columnCenter" />
</Columns>
<EmptyDataTemplate>
<br />
<br /><br />
<span style="font-weight: bold; text-anchor:middle;">No Transactions have been entered</span>
</EmptyDataTemplate>
</asp:GridView>
<table class="grid" cellspacing="0" rules="all" border="1" id="MainContent_grdvwDepositTransaction" style="border-collapse:collapse;">
<tr style="text-decoration:underline;">
<th scope="col"> </th><th scope="col">Card Number</th><th scope="col">Account Number</th><th scope="col">Customer Name</th><th scope="col">Transaction Date/Time</th><th scope="col">Cash Amount</th><th scope="col">Envelope Deposit Amount</th>
</tr><tr>
<td colspan="7">
<br />
<br />
<br />
<span style="font-weight: bold; text-anchor:middle;">No Transactions have been entered</span>
</td>
</tr>
</table>
<br />
</div>
</div>
未输入任何交易记录
卡号账号联系人姓名交易日期/时间现金金额分期存款金额
未输入任何交易记录
此CSS将为表格的第一个tr
提供一个底部边框,该表格带有网格
类:
table.grid tr:first-of-type {
border-bottom: 5px solid black;
}
在列标记之前添加以下内容:
<HeaderStyle CssClass="HeaderTemplate" />
.HeaderTemplate {
border-bottom: 2px solid black;
}
我同意,你可以用CSS来做。但是,如果您对从服务器端以编程方式进行操作感兴趣,我可以在这方面为您提供帮助
定义行_数据绑定事件,如下所示。
OnRowDataBound=“gvw\u RowDataBound”
然后在服务器端,如果找到标题行
接下来,请执行以下操作
- 创建一个额外的行
- 设置colspan=单元格计数
- 添加所需的html,在本例中为
- 然后将额外的行附加到标题行
完整代码
protected void gvw_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
GridViewRow extraRow = new GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal);
TableCell tc = new DataControlFieldCell(((DataControlFieldCell)e.Row.Cells[0]).ContainingField);
tc.Text = "<hr/>";
tc.ColumnSpan = e.Row.Cells.Count;
extraRow.Cells.Add(tc);
e.Row.Parent.Controls.AddAt(1, extraRow);
}
}
受保护的void gvw_RowDataBound(对象发送方,GridViewRowEventArgs e)
{
if(e.Row.RowType==DataControlRowType.Header)
{
GridViewRow extraRow=新的GridViewRow(-1,-1,DataControlRowType.Header,DataControlRowState.Normal);
TableCell tc=新的DataControlFieldCell(((DataControlFieldCell)e.Row.Cells[0])。包含字段;
tc.Text=“
”;
tc.ColumnSpan=e.Row.Cells.Count;
外部行。单元格。添加(tc);
e、 Row.Parent.Controls.AddAt(1,extrow);
}
}
来源-
希望,这将是有益的,在其他方面(以防有人想添加任何自定义html) HTML输出是什么样子的?使用CSS应该很容易。这是我的想法!谢谢你看这个。HTML输出应该看起来像“看起来像当前图像”。这没有帮助,我需要查看实际的HTML。@DavidG编辑了问题,以包括HTML呈现see灰色代码块。您可以使用CSS选择器选择表的第一个tr,并使用边框底部
,这实际上会在标题行下方添加一个连续的行。