我有以下代码...
<asp:DetailsView ID="dvApprenticeship" runat="server" DataSourceID="dsApprenticeship" AutoGenerateRows="false" BackColor="#E0E8F0" GridLines="None" CellPadding="2"
DataKeyNames="ProgramID, ProgramName, OrganisationName, StudyYearID, Workgroup, Pathway, FinishDate" OnDataBound="Apprenticeship_DataBound">
<Fields>
<asp:BoundField DataField="ProgramName" HeaderText="Program:" />
<asp:BoundField DataField="StudyYearName" HeaderText="Study Year:" />
<asp:HyperLinkField DataTextField="OrganisationName" HeaderText="Apprenticeship: " NavigateUrl="Apprenticeships.aspx" />
<asp:BoundField DataField="Workgroup" HeaderText="Workgroup:" />
<asp:BoundField DataField="Pathway" HeaderText="Pathway:" />
<asp:TemplateField HeaderText="Nominal Completion: ">
<ItemTemplate>
<asp:Label ID="labEndDate" runat="server" Text='<%# Eval("FinishDate","{0:d/MM/yyyy}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Fields>
<FooterTemplate>
<asp:LinkButton ID="lbAddProgramUnits" runat="server" OnClick="AddProgramUnits_Click" ForeColor="White" Font-Bold="true"
OnClientClick="return confirm('Import the Program Units listed - this may overwrite unit dates. Are you sure?');">Import from Program</asp:LinkButton>
<a href="#" onclick="showhelp('progimphelp');" style="color:White;font-weight:bold;">Help</a>
</FooterTemplate>
<FooterStyle HorizontalAlign="Center" BackColor="LightSlateGray" />
</asp:DetailsView>
我希望能够在上述边界字段之一更改颜色时显示工具提示。
在我的 C# 代码隐藏中,我有一些代码根据数据的某些条件更改这些边界字段的颜色。这工作正常。
但我想要的是能够在用户将鼠标悬停在这些边界字段上时为用户提供工具提示,并且只有在该字段的颜色不同时,在我的情况下,才可以
颜色。黄色
.
为了回答我自己的问题,我发现了其他被忽略的东西:将 BoundField 转换为 TemplateField 选项。
从这个...
<asp:BoundField HeaderText="Claim Type ID" ..etc../>
对此...
<asp:TemplateField HeaderText="Claim Type ID">
<EditItemTemplate>
<asp:Label ID="lblClaimTypeID" runat="server" Text='<%# Eval("ClaimTypeID") %>' ToolTip="Enter a numerical value that conforms to the UserChoice Policy document (ie: 65 for GAT)."></asp:Label>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="txtClaimTypeID" runat="server" Text='<%# Bind("ClaimTypeID") %>' ToolTip="Enter a numerical value that conforms to the UserChoice Policy document (ie: 65 for GAT)."></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="itClaimTypeID" runat="server" Text='<%# Bind("ClaimTypeID") %>' ToolTip="A numerical value that conforms to the UserChoice Policy document (ie: 65 for GAT)."></asp:Label>
</ItemTemplate>
</asp:TemplateField>
这很甜蜜,因为在ASPX的设计模式下,您可以选择详细信息视图,选择"编辑字段"选项,然后选择作为绑定字段的字段并将其直接转换为模板字段。这样做的美妙之处在于,它将边界字段转换为整洁的标签或文本框,允许您直接在工具提示属性中编码!而且后面没有代码!Microsoft在那里得到了一次东西。
如果根据某些条件在 DetailsView DataBound
事件中将颜色设置为黄色,则可以在同一块中设置工具提示:
DetailsViewRow.Cells[indexofyellowfield].ToolTip = "some help from code-behind";