0

個々のエントリでグループ化するジャンプ リストがありますが、リストをアルファベットでグループ化したい

var ANBA = from accountsTable in dataSource
           orderby accountsTable.Extra
           group accountsTable by accountsTable.Extra.Substring(0, 1) into c
           orderby c.Key
           select new Group<AccountsTable>(c.Key, c);

this.AccountsList2.ItemsSource = ANBA;

このコードは、異なるグループの小文字と大文字のリストを作成します

a
    ab
    ac
    ad
A
    Aa
    Ab
    Ac

小文字と大文字が同じグループになり、すべての数字と文字のように他のすべての文字が単一のグループになる場所を作成する方法

a 
    Aa
    ab
    ad
    AGDS
*
    1
    5000
    @@ASD
4

1 に答える 1

1

これを行うためにクエリを変更する方法は次のとおりです。

List<Table> Source = new List<Table>();

var ANBA = from accountsTable in Source 
                  orderby table.Extra
                   group table by (( table.Extra[0]>='a' &&table.Extra[0]<='z' )
                      ||( table.Extra[0]>='A' &&table.Extra[0]<='Z' ) ?table.Extra.Substring(0,1).ToUpper()[0]:'*')  into c
                   orderby c.Key
                   select new Group<Table>(c.Key.ToString(), c);

        this.ANListGropus.ItemsSource = ANBA;
于 2013-09-14T23:25:29.857 に答える