我有网格视图。有两个BoundField。在这里我要在BoundField DataField HeaderText Topic 上设置工具提示。
代码。
User object
有什么解决办法吗?
答案 0 :(得分:1)
一种实现这一目标的方法是将您的BoundField
转换为TemplateField
选项。
转换此:
<asp:BoundField DataField="topic" HeaderText="Topic" />
对此:
<asp:TemplateField HeaderText="Topic">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Topic") %>' ToolTip ='<%# Bind("Topic") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
或者从后面的代码中,您可以在RowDataBound
事件中完成此操作
protected void Dgvlist_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
e.Row.Cells[i].ToolTip = e.Row.Cells[i].Text;
}
}
答案 1 :(得分:1)
通常有3种方法在BoundField
列上设置工具提示:
1)使用RowDataBound
事件背后的代码
protected void Dgvlist_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) {
e.Row.Cells[0].ToolTip = DataBinder.Eval(e.Row.DataItem, "Topic", string.Empty);
}
}
2)使用代码隐藏的RowCreated
事件
protected void Dgvlist_RowCreated(object sender, GridViewRowEventArgs e)
{
foreach (TableRow row in Dgvlist.Controls[0].Controls)
{
row.Cells[0].ToolTip = DataBinder.Eval(e.Row.DataItem, "Topic", string.Empty);
}
}
3)转换为TemplateField
并使用Label
控件
<asp:GridView ID="Dgvlist" runat="server" ...>
<Columns>
<asp:TemplateField HeaderText="Topic">
<asp:Label ID="TopicID" runat="server" Text='<%# Eval("topic") %>' ToolTip='<%# Eval("topic") %>'>
</asp:Label>
</asp:TemplateField>
<asp:BoundField DataField="question" HeaderText="Question" />
</Columns>
</asp:GridView>
实际的实现方式取决于您所使用的方法。
相关问题: