Telerik RadListBox / 마우스를 올려서 몇 가지 작업을 수행하고 RadListBox 내부 항목 선택…(클라이언트 측)
-
13-11-2019 - |
문제
내 프로젝트에서 RadListBox를 사용하고 있습니다(asp.net, vs2010의 C# 포함).
또한 itemTemplate의 일부 링크 버튼을 사용하고 있습니다.
ListBox에서 항목을 가리키거나 선택할 때 LinkButton의 색상을 변경하고 싶습니다!(클라이언트 측 프로그래밍)
내 RadListBox는 다음과 같습니다.
<telerik:RadListBox ID="RadlbOfImageGroup" runat="server" DataKeyField="ID" DataSortField="Title"
DataSourceID="sdsImagesGroup" DataTextField="Title" DataValueField="ID" Skin="BlackByMe"
EnableEmbeddedSkins="False" EmptyMessage="No Records!">
<ButtonSettings TransferButtons="All" />
<HeaderTemplate> <div id="Header_RadlbOfImageGroup"><h5>Header Area</h5></div>
</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="lbTitleOfIG" CssClass="lbTitleOfIGclass" runat="server" CausesValidation="False"><%# Eval("Title") %></asp:LinkButton>
<asp:Label ID="lblTitleOfIG" CssClass="lblTitleOfIGclass" runat="server" Text='<%# Eval("Title") %>'></asp:Label>
<asp:LinkButton ID="lbEditOfIG" CssClass="lbEditOfIGclass" runat="server" CausesValidation="False"
CommandName="Edit">Edit</asp:LinkButton>
<asp:LinkButton ID="lbDeleteOfIG" CssClass="lbDeleteOfIGclass" runat="server" CausesValidation="False"
CommandName="Delete">Delete</asp:LinkButton>
</ItemTemplate>
</telerik:RadListBox>
마우스를 올려 항목을 선택하는 동안 lbTitleOfIG의 색상을 변경하고 싶습니다!
내가 이 일을 어떻게 할 수 있지?
관심을 가져주셔서 감사합니다
첫 번째 답변으로 해결된 상위 질문 - 감사합니다.
================================
하지만 아래와 같이 몇 가지 변경을 수행한 후 새로운 문제가 발생했습니다.
<telerik:RadAjaxPanel ID="RadAjaxPanelInrpvImageGroup" runat="server" Height="290px" Width="400px">
<telerik:RadListBox ID="RadlbOfImageGroup" runat="server" DataKeyField="ID" DataSortField="Title"
DataSourceID="sdsImagesGroup" DataTextField="Title" DataValueField="ID" Skin="BlackByMe"
EnableEmbeddedSkins="False" Width="260px" Height="365px"
EmptyMessage="no records!" AutoPostBack="True"
onselectedindexchanged="RadlbOfImageGroup_SelectedIndexChanged">
<ItemTemplate>
<table style="width: 100%;">
<tr style="width: 100%;">
<td style="width: 64%;">
<asp:Label ID="lblTitleOfIG" runat="server" CssClass="lbl_ListBox_IG_Title" Text='<%# Eval("Title") %>'></asp:Label>
</td>
<td style="width: 18%; text-align: center;">
<asp:LinkButton ID="lbEditIG" runat="server" CausesValidation="False" CommandName="Edit"
CssClass="lb_ListBox_IG" OnClick="lbEditIG_Click">Edit</asp:LinkButton>
</td>
<td style="width: 18%; text-align: center;">
<asp:LinkButton ID="lbDeleteIG" runat="server" CausesValidation="False" CommandName="Delete"
CssClass="lb_ListBox_IG" OnClick="lbDeleteIG_Click">Delete</asp:LinkButton>
</td>
</tr>
</table>
</ItemTemplate>
</telerik:RadListBox>
</telerik:RadListBox>
</telerik:RadAjaxPanel>
변경#1:보시다시피 저는 RadListBox를 RadAjaxPanel에 넣었습니다(UpdatePanel처럼 작동합니다)...
변경#2:AutoPostBack="True"로 SelectedIndexChanged 이벤트(서버 측) 추가...
Ajax 모드에서 잘 작동하는 SelectedIndexChanged 이벤트에 일부 코드가 있습니다.
하지만 내 새로운 문제는 다른 항목을 클릭하여(또는 lbEditIG 또는 lbDeleteIG와 같은 링크 버튼 중 하나를 클릭하여) 선택한 항목을 변경하고 이로 인해 콜백이 발생하는 경우입니다. 아래 CSS에서 설정한 lbTitleOfIG 색상이 손실됩니다.
.rlbActive .rlbTemplate span.lbl_ListBox_IG_Title
{
color:#9EDA29 !important;
}
.rlbTemplate:hover span.lbl_ListBox_IG_Title
{
color:#9EDA29 !important;
}
하지만 선택한 영역은 여전히 강조 표시되어 있습니다.
나는 이 색상이 그다지 중요하지 않다는 것을 알고 있지만 몇 달 전에 RadComboBox에 대해 비슷한 문제가 있었습니다(selectIndexChanged CallBack 후에 포커스를 잃음).
다른 용도로 사용할 수 있도록 솔루션을 제공해 주시면 정말 감사하겠습니다...
읽어주셔서 감사합니다. 이 스레드에 귀중한 시간을 투자해 주세요.
해결책
첫째, 클라이언트 측 프로그래밍과 함께 할 일이 없지만 CSS 와 아무 관련이 없습니다. 물론 jQuery 또는 다른 도서관으로 그것을 할 수는 있지만 정교한 물건을 할 필요가 없으면 불필요한 것 같습니다.
팁 : "NotFireBug.com/"hr>"nofollow"> Firebug 확장자가 JS, CSS로 작동하도록