我正在使用ASP.NET GridView 在其中,我有一个TemplateField如下:
<asp:TemplateField HeaderText="Nº Despesa" SortExpression="NumeroDespesa">
<ItemTemplate>
<asp:Label ID='lblNumeroDespesa' runat="server" Text='<%#Bind("NumeroDespesa") %>' />
</ItemTemplate>
<HeaderStyle CssClass="gv-col-numerodespesa" />
<ItemStyle CssClass="gv-col-numerodespesa text-center" />
</asp:TemplateField>
此代码在客户端呈现为:
<td class="gv-col-numerodespesa text-center">
<span id="ContentPlaceHolder_Site_gvDespesa_lblNumeroDespesa_0">00403-03-01</span>
</td>
我想在td上添加数据标题,如下所示:
<td class="gv-col-numerodespesa text-center" data-title="Nº Despesa">
<span id="ContentPlaceHolder_Site_gvDespesa_lblNumeroDespesa_0">00403-03-01</span>
</td>
我怎样才能实现它?
我的最终目标是实施NoMoreTables。
答案 0 :(得分:2)
有一种方法,但你可能不会喜欢它。反正我也不知道。
您可以订阅RowDataBound事件以及单元格的处理程序集属性。您需要知道列的索引。假设索引3:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[3].Attributes.Add("data-title", "Nº Despesa");
}
}