Подсказка в gridview - PullRequest
       23

Подсказка в gridview

0 голосов
/ 14 декабря 2009

полный новичок на работе (который также болен и чувствует себя особенно толстым)

У меня есть следующий код, который дает мне общий «текст всплывающей подсказки» для каждого заголовка в виде сетки .... отлично.

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 было указано «уникальная ссылка на продукт», а для ячейки заголовка Product Description - «описание продукта»

Извиняюсь за смутный вопрос.

Ответы [ 3 ]

0 голосов
/ 14 декабря 2009
0 голосов
/ 14 декабря 2009

Если я правильно понимаю, вы хотите, чтобы подсказка была установлена ​​в соответствии с заголовком столбца?

Вы могли бы сделать что-то вроде этого:

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";
[...]
0 голосов
/ 14 декабря 2009

Я бы использовал TemplateField :

<asp:GridView ...>
   ...
   <asp:TemplateField>
      <ItemTemplate>
         <a href='<%# Eval("ProductID", "Edit.aspx?{0}") %>' title='<%# Eval("ProductDescription") %>'><%# Eval("ProductID") %></a>
      </ItemTemplate>
   </asp:TemplateField>
   ...
</asp:GridView>

Подробнее об использовании шаблонов

...