在工作中完成新手(谁也病了,感觉特别厚)
我有以下代码,它为gridview中的每个标题提供了一个通用的“工具提示文本”....很棒。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
foreach (TableCell cell in e.Row.Cells)
{
foreach (System.Web.UI.Control ctl in cell.Controls)
{
if (ctl.GetType().ToString().Contains("DataControlLinkButton"))
{
cell.Attributes.Add(
"title", "tooltip text for " + ((LinkButton)ctl).Text);
}
}
}
}
}
不太好的是,我显然不希望所有单元格都返回相同的通用'工具提示文本'。
像我这样的简单代码如何调整代码,以便对于ProductID标题单元格,tt表示“唯一的产品引用”,对于产品描述标题单元格,tt返回“产品的描述”。
为昏暗的问题道歉。
答案 0 :(得分:0)
我会使用TemplateField:
<asp:GridView ...>
...
<asp:TemplateField>
<ItemTemplate>
<a href='<%# Eval("ProductID", "Edit.aspx?{0}") %>' title='<%# Eval("ProductDescription") %>'><%# Eval("ProductID") %></a>
</ItemTemplate>
</asp:TemplateField>
...
</asp:GridView>
答案 1 :(得分:0)
答案 2 :(得分:0)
如果我理解正确,您希望对应于列标题设置工具提示吗?
你可以这样做:
if (ctl.GetType().ToString().Contains("DataControlLinkButton"))
{
String headerText = cell.Text;
cell.Attributes.Add("title", headerTooltips[headerText]);
}
其中headerTooltips
是之前定义的字典:
Dictionary<String, String> headerTooltips = new Dictionary<String, String>();
headerTooltips["Product ID"] = "A unique product ID";
[...]