This is a migrated thread and some comments may be shown as answers.

Tooltip on GridHyperLinkColumn

3 Answers 213 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Daniel
Top achievements
Rank 1
Iron
Daniel asked on 21 Sep 2009, 05:46 AM
Hi. I'm using RadControls for ASP.NET AJAX 2009_2_826_dev. I'm trying to set the tooltip on all columns to be the same. Everything works except the GridHyperLinkColumn(s). I can set the 'text' property okay, so I know my code behind is trying to set it on the correct grid item. Thanks in advance.

Daniel

    protected void rgPeople_ItemCreated(object sender, GridItemEventArgs e)  
    {  
        if (e.Item is GridDataItem)  
        {  
            GridDataItem gridItem = e.Item as GridDataItem;  
            foreach (GridColumn column in rgPeople.MasterTableView.RenderColumns)  
            {  
                if (column is GridBoundColumn)  
                {  
                    gridItem[column.UniqueName].ToolTip = gridItem.OwnerTableView.DataKeyValues[gridItem.ItemIndex]["pkEmployeeNumber"].ToString();  
                }  
            }  
        }  
    }  
 

                        <telerik:RadGrid ID="rgPeople" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" 
                            GridLines="None" Skin="Simple" OnPreRender="rgPeople_PreRender" DataSourceID="sdsPeople" EnableLinqExpressions="False" 
                            runat="server" OnItemCreated="rgPeople_ItemCreated">  
                            <MasterTableView AutoGenerateColumns="False" DataKeyNames="pkEmployeeNumber">  
                                <RowIndicatorColumn> 
                                    <HeaderStyle Width="20px" /> 
                                </RowIndicatorColumn> 
                                <ExpandCollapseColumn> 
                                    <HeaderStyle Width="20px" /> 
                                </ExpandCollapseColumn> 
                                <Columns> 
                                    <telerik:GridHyperLinkColumn DataNavigateUrlFields="pkEmployeeNumber" SortExpression="firstName" 
                                        UniqueName="firstName" DataNavigateUrlFormatString="/people/profiles/?empno={0}" 
                                        HeaderText="First Name" DataTextField="firstName" DataType="System.String">  
                                    </telerik:GridHyperLinkColumn> 
                                    <telerik:GridBoundColumn DataField="firstName" HeaderText="First Name" SortExpression="firstName" 
                                        UniqueName="firstNameSort" Display="false" DataType="System.String">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridBoundColumn DataField="lastName" HeaderText="Last Name" SortExpression="lastName" 
                                        UniqueName="lastName">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridBoundColumn DataField="positionDescription" HeaderText="Title" SortExpression="positionDescription" 
                                        UniqueName="positionDescription">  
                                    </telerik:GridBoundColumn> 
                                    <intra:FilteringColumnPeople DataField="directorate" FilterControlWidth="180px" HeaderText="Directorate">  
                                        <headerstyle width="15%" /> 
                                        <itemtemplate> 
                                            <%# Eval("directorate")%> 
                                        </itemtemplate> 
                                    </intra:FilteringColumnPeople> 
                                    <telerik:GridBoundColumn DataField="phone" HeaderText="Phone" SortExpression="phone" 
                                        UniqueName="phone">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridBoundColumn DataField="email" HeaderText="Email" SortExpression="email" 
                                        UniqueName="email">  
                                    </telerik:GridBoundColumn> 
                                    <telerik:GridBoundColumn DataField="pkEmployeeNumber" HeaderText="pkEmployeeNumber" SortExpression="pkEmployeeNumber" 
                                        UniqueName="pkEmployeeNumber" Display="false">  
                                    </telerik:GridBoundColumn> 
                                </Columns> 
                            </MasterTableView> 
                        </telerik:RadGrid> 
 



3 Answers, 1 is accepted

Sort by
0
Accepted
Princy
Top achievements
Rank 2
answered on 21 Sep 2009, 07:10 AM
Hello Daniel,

You can try out the following code to set the tooltip for the hyperlink column in the grid. You would also have to use the ItemDataBound event of the grid instead of the ItemCreated event inorder to implement this.
c#:
 protected void rgPeople_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) 
    { 
        if (e.Item is GridDataItem) 
        { 
            GridDataItem gridItem = e.Item as GridDataItem; 
            foreach (GridColumn column in rgPeople.MasterTableView.RenderColumns) 
            { 
                if (column is GridBoundColumn) 
                { 
                    gridItem[column.UniqueName].ToolTip = gridItem.OwnerTableView.DataKeyValues[gridItem.ItemIndex]["pkEmployeeNumber"].ToString(); 
                } 
                if (column is GridHyperLinkColumn) 
                {                    
                    (gridItem[column.UniqueName].Controls[0] as HyperLink).ToolTip = gridItem.OwnerTableView.DataKeyValues[gridItem.ItemIndex]["pkEmployeeNumber"].ToString(); 
                } 
            } 
        }  
     }   

Thanks
Princy.
0
Daniel
Top achievements
Rank 1
Iron
answered on 21 Sep 2009, 11:31 PM
Thanks Princy that worked a treat!

Daniel
0
Martin
Top achievements
Rank 1
answered on 13 Jul 2016, 08:02 PM

Actually you can do it much simpler

                GridTableCell gtcMyCell = (GridTableCell)item["Your_Unique_Name"];
                gtcMyCell.ToolTip = "Your Tool Tip"; //set tooltip of the cell
                (gtcMyCell.Controls[0] as HyperLink).ToolTip = "Your_Unique_Name"; //set tootip of link itself

Tags
Grid
Asked by
Daniel
Top achievements
Rank 1
Iron
Answers by
Princy
Top achievements
Rank 2
Daniel
Top achievements
Rank 1
Iron
Martin
Top achievements
Rank 1
Share this question
or