📄 gallerythreadsortdropdownlist.cs
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
// Copyright (c) Telligent Systems Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;
using System.Web.UI.WebControls;
using CommunityServer.Components;
using CommunityServer.Galleries.Components;
namespace CommunityServer.Galleries.Controls
{
public class GalleryThreadSortDropDownList : DropDownList
{
public GalleryThreadSortDropDownList()
{
Gallery gallery;
if(CSContext.Current.ApplicationKey != null)
gallery = Galleries.GetGallery(CSContext.Current.ApplicationKey);
else if(CSContext.Current.ForumID != -1)
gallery = Galleries.GetGallery(CSContext.Current.ForumID);
else
return;
// Add the sort items
Items.Add(GenerateListItem(GalleryThreadSortBy.ThreadDate, SortOrder.Ascending));
Items.Add(GenerateListItem(GalleryThreadSortBy.ThreadDate, SortOrder.Descending));
Items.Add(GenerateListItem(GalleryThreadSortBy.PictureDate, SortOrder.Ascending));
Items.Add(GenerateListItem(GalleryThreadSortBy.PictureDate, SortOrder.Descending));
Items.Add(GenerateListItem(GalleryThreadSortBy.Subject, SortOrder.Ascending));
Items.Add(GenerateListItem(GalleryThreadSortBy.Subject, SortOrder.Descending));
Items.Add(GenerateListItem(GalleryThreadSortBy.Views, SortOrder.Ascending));
Items.Add(GenerateListItem(GalleryThreadSortBy.Views, SortOrder.Descending));
if(gallery.EnableComments)
{
Items.Add(GenerateListItem(GalleryThreadSortBy.Comments, SortOrder.Ascending));
Items.Add(GenerateListItem(GalleryThreadSortBy.Comments, SortOrder.Descending));
}
if(gallery.EnableRatings)
{
Items.Add(GenerateListItem(GalleryThreadSortBy.Rating, SortOrder.Ascending));
Items.Add(GenerateListItem(GalleryThreadSortBy.Rating, SortOrder.Descending));
}
}
private ListItem GenerateListItem(GalleryThreadSortBy sortBy, SortOrder sortOrder)
{
return new ListItem( ResourceManager.GetString("GalleryThreadSortDropDownList_" + sortBy.ToString() + "_" + sortOrder.ToString() ), sortBy.ToString() + "_" + sortOrder.ToString());
}
public GalleryThreadSortBy SelectedSortByValue
{
get
{
string selectedValue = base.SelectedValue.Substring(0, base.SelectedValue.IndexOf("_"));
return (GalleryThreadSortBy)Enum.Parse(typeof(GalleryThreadSortBy), selectedValue);
}
set
{
// Deselect current item
ListItem oldItem;
ListItem newItem;
oldItem = Items.FindByValue( base.SelectedValue );
newItem = Items.FindByValue( value.ToString() + "_" + SelectedSortOrderValue.ToString() );
if(oldItem != null)
oldItem.Selected = false;
if(newItem == null)
newItem = Items.FindByValue( GalleryThreadSortBy.ThreadDate.ToString() + "_" + SortOrder.Ascending.ToString() );
newItem.Selected = true;
}
}
public SortOrder SelectedSortOrderValue
{
get
{
string selectedValue = base.SelectedValue.Substring(base.SelectedValue.IndexOf("_")+1);
return (SortOrder)Enum.Parse(typeof(SortOrder), selectedValue);
}
set
{
// Deselect current item
ListItem oldItem;
ListItem newItem;
oldItem = Items.FindByValue( base.SelectedValue );
newItem = Items.FindByValue( SelectedSortByValue.ToString() + "_" + value.ToString() );
if(oldItem != null)
oldItem.Selected = false;
if(newItem == null)
newItem = Items.FindByValue( GalleryThreadSortBy.ThreadDate.ToString() + "_" + SortOrder.Ascending.ToString() );
newItem.Selected = true;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -