如何将一个箭头图像(向上或向下)添加到列表视图的标题中,以便在单击它时按升序/降序对列进行排序?
目前我只有一个链接来进行排序:
<asp:LinkButton runat="server" ID="sortPosition" CommandName="Sort" CommandArgument="Position" >Position</asp:LinkButton>
答案 0 :(得分:1)
有很多方法可以做到这一点。一种是使用jquery在客户端进行。您可以添加跨度或div或图像,并根据排序状态使用jquery进行切换。
<style>
.sortNotSelected
{
background-image: none;
width: 15px;
height: 15px;
}
.sortAscending
{
background-image: url('down.png');
width: 15px;
height: 15px;
}
.sortDescending
{
background-image: url('up.png');
width: 15px;
height: 15px;
}
</style>
<asp:LinkButton runat="server" ID="sortPosition" CommandName="Sort" CommandArgument="Position" OnClientClick="changeSortState();">Position</asp:LinkButton>
<span id="imgSortPosition" class="sortNotSelected"></span>
<script>
function changeSortState(){
if ($('#imgSortPosition').attr('class') == 'sortNotSelected'){
$('#imgSortPosition').removeClass();
$('#imgSortPosition').addClass('sortAscending');
}
else if ($('#imgSortPosition').attr('class') == 'sortAscending'){
$('#imgSortPosition').removeClass();
$('#imgSortPosition').addClass('sortDescending');
}
else
$('#imgSortPosition').removeClass();
$('#imgSortPosition').addClass('sortNotSelected');
}
}
</script>
在服务器端执行此操作的另一种方法。您可以根据Command Sort
上的排序状态添加控件并更改ImageUrl属性<asp:ImageUrl ID="imgSort" runat="server" />
背后的代码
if (sortAsc)
{
imgSort.ImageUrl = "up.png";
}
// and so on
您可以将此图像添加到listview的布局模板