#html #asp.net #vb.net #telerik
#HTML #asp.net #vb.net #telerik
Вопрос:
Мне нужна помощь в получении идентификатора элемента управления в RadGrid, чтобы установить его Visable=False.
Последняя функция фактически создает pic на основе значения, поступающего из базы данных. Как я могу установить гиперссылку рядом с рисунком, который я добавляю к Visible false?
Я думаю, что мне нужно отправить эту функцию, связанную с элементом управления гиперссылкой, но я не знаю как, и я надеюсь, что кто-нибудь сможет показать мне путь.
<telerik:RadGrid
ID="rgPhoneBook"
runat="server"
AutoGenerateColumns="False"
AllowPaging="True"
AllowSorting="True"
PageSize="50"
CellSpacing="0" GridLines="None"
OnItemCommand="rgPhoneBook_ItemCommand"
OnPageIndexChanged="rgPhoneBook_OnPageIndexChanged"
OnSortCommand="rgPhoneBook_OnSortCommand"
OnItemCreated="rgPhoneBook_OnItemCreated"
EnableHeaderContextFilterMenu="True"
Width="933px"
Height="528px">
<ClientSettings>
<Selecting AllowRowSelect="True"></Selecting>
<Scrolling AllowScroll="true" UseStaticHeaders="True" SaveScrollPosition="true" FrozenColumnsCount="2" />
</ClientSettings>
<MasterTableView ShowHeadersWhenNoRecords="true" NoMasterRecordsText="No PhoneBook Records to display" Font-Size="11px" GridLines="None" AllowPaging="True" ItemStyle-Height="25px" CommandItemDisplay="Top" AllowAutomaticUpdates="False" TableLayout="Auto" DataKeyNames="LocationID,PersonID" ClientDataKeyNames="LocationID,PersonID">
<PagerStyle Mode="NumericPages"></PagerStyle>
<Columns>
<telerik:GridTemplateColumn HeaderText="Linked" HeaderStyle-Width="45px" >
<ItemTemplate>
<span id="spanHyperLink" style="visibility:visible" runat="server">
<asp:HyperLink ID="Link" runat="server" Text="Link">
</asp:HyperLink>
</span>
<%# RenderLinked(DataBinder.Eval(Container.DataItem, "Linked"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
Protected Function RenderLinked(ByVal inputVal As String) As String
Dim output As String = ""
Try
Dim svcs As New SystemServices
If Not inputVal Is Nothing And Not String.IsNullOrEmpty(inputVal) Then
If inputVal = True Then
output = "<img src='" Globals.gRootRelativeSecureURL("ImagesLayoutLink.png") "' width=""13"" height=""13"" border=""0"" align=""absmiddle"">"
Else
'Dim item As GridDataItem = DirectCast(e.Item, GridDataItem)
'Dim link As HyperLink = DirectCast(item("Link").Controls(0), HyperLink)
'LinkButton.DisabledCssClass = True
Me.Page.ClientScript.RegisterStartupScript(Me.GetType(), "StartupScript", "Sys.Application.add_load(function() { DisableHyperLinkCSS(); });", True)
'output = "<a herf='#' onclick='showPersonLinkModal() ;'>Link</a>"
End If
End If
Catch ex As Exception
Globals.SendEmailError(ex, m_User.SessionID, System.Reflection.MethodBase.GetCurrentMethod.Name.ToString(), Request.RawUrl.ToString(), m_User.UserID)
End Try
Return output
End Function
Ответ №1:
Если вы хотите установить атрибут какого-либо элемента управления visible=false
в коде, когда строки привязаны к данным 1 на 1, вы можете использовать RowDataBound
событие и написать следующий код в его обработчике
Control_Type Control_ID = (Control_Type) e.Row.FindControl("Control_ID");
Control_ID.Visible = false;
И если вы хотите установить его в javascript,
rgPhoneBook.Rows[Record_Index].Cells[0].Visible = false;
Надеюсь, это вам поможет. Приведенный выше код написан на C #, пожалуйста, преобразуйте его в эквивалент в VB.
Комментарии:
1. Спасибо за вашу помощь, это то, что я написал: но все еще не работает! его маркировка e.Row как ошибка =»e не объявлен, он может быть недоступен из-за его уровня защиты» Затемнить ссылку как гиперссылку = DirectCast(e.Row.FindControl(«Link»), гиперссылка) link.Visible = False Нужно ли мне отправлять что-то в эту функцию, связанную с визуализацией????