1

ドロップダウン リストのデフォルトの順序を逆にする簡単な方法はありますか?

if (_group.Category == GroupCategory.Workers || 
    _group.Category == GroupCategory.Acct)
{
      this.cboList.DataSource = null;
      this.cboList.DisplayMember = "DescForMCE";
      this.cboList.ValueMember = "ID";
      this.cboList.DataSource = _ch.Accounts;
      this.cboList.Visible = true;
      this.lblList.Visible = true;
}
4

3 に答える 3

6

バインドする前に、データ ソースの順序を逆にすることができます。

if (_group.Category == GroupCategory.Workers || 
    _group.Category == GroupCategory.Acct)
{
      this.cboList.DataSource = null;
      this.cboList.DisplayMember = "DescForMCE";
      this.cboList.ValueMember = "ID";
      this.cboList.DataSource = _ch.Accounts.Reverse();
      this.cboList.Visible = true;
      this.lblList.Visible = true;
}

データ ソース コレクションの正確なタイプと .NET バージョンによっては、データ ソースが拡張メソッド[MSDN]IEnumerable<T>を実装し、直接使用できることを前提としている上記の例ほど単純ではない場合があります。Reverse()

IEnumerableたとえば、 (非汎用バージョン)しかない場合でも、 Cast<T>()[MSDN]を使用して 2 つの呼び出しで実行できます。

collection.Cast<YourType>().Reverse();

Or your collection class might have its own implementation of Reverse(), like List<T>[MSDN] or Array[MSDN]

于 2013-06-13T14:56:21.653 に答える
1

他の友人が示唆しているように、降順でデータを取得し、その後は任意のコントロールにバインドすることをお勧めします。以下は、必要に応じてデータを取得するストアド プロシージャと LINQ クエリです。

Linq クエリ:

var queru = new DatabaseContext().Cities.OrderByDescending(s => s.CityID).ToList();

そしてSP:

SELECT * FROM Roles
ORDER BY RoleID DESC

それが役に立てば幸い、

于 2013-06-13T15:10:11.417 に答える
0

ドロップダウン リストに入れる前に、データ ソースに使用するデータを反転させることができます。

.Reverseを使用します。

于 2013-06-13T14:58:19.223 に答える