gridview中的工具提示

时间:2009-12-14 16:24:51

标签: gridview tooltip code-behind

在工作中完成新手(谁也病了,感觉特别厚)

我有以下代码,它为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返回“产品的描述”。

为昏暗的问题道歉。

3 个答案:

答案 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>

More about using Templates

答案 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";
[...]