FlexReport for WPF
データのソート

ソートは、データを昇順または降順に整理する方法です。

FlexReport でソートを実行するには、DataSource.SortDefinitions を使用します。

たとえば、従業員の名前のリストを昇順に表示することにします。この場合は、リストを「名(First Name)」でソートする必要があります。以下の手順は、従業員リストの名前をアルファベット順にソートする方法を示します。この例では、「FlexReport」で作成したサンプルを使用します。

  1. FlexReport クイックスタートプロジェクトのフォームに、C1Button を追加します。
  2. C1Button の Name を「sortButton」に設定し、Text を「従業員の名前でレポートをソートする」に設定します。
  3. Click イベントを sortC1Button_Click という名前で作成します。
  4. 従業員のリストを昇順でソートするには、次のコードを追加します。
    Dim grp As Group
    
    Private Sub c1CheckBox1_Checked(sender As Object, e As RoutedEventArgs)
        ' 従業員を役職でグループ化し、役職を昇順で並べ替えます     
        grp = rep.Groups.Add("GrpTitle", "Title", SortEnum.Ascending)
        ' 新しいグループのヘッダーセクションを書式設定します          
        s = grp.SectionHeader
        s.Height = 1000
        s.Visible = True
    
        Dim f As New TextField()
        f.Name = "Title"
        f.Text.Expression = "Title"
        f.Left = 0
        f.Top = 0
        f.Width = rep.Layout.Width
        f.Height = 500
        f.Align = FieldAlignEnum.LeftMiddle
        f.Font.Bold = True
        f.Font.Size = 12
        f.Border = New C1.WPF.Document.Border _
        (2, Color.FromRgb(0, 0, 0), C1.WPF.Document.DashStyle.Solid)
        f.BackColor = Color.FromRgb(150, 150, 220)
        f.MarginLeft = 100
        s.Fields.Add(f)
        rep.Render()
    End Sub
    
    Group grp;
    private void c1CheckBox1_Checked(object sender, RoutedEventArgs e)
    {
           // 従業員を役職でグループ化し、役職を昇順で並べ替えます        
            grp = rep.Groups.Add("GrpTitle", "Title", SortEnum.Ascending);
            // 新しいグループのヘッダーセクションを書式設定します           
            s = grp.SectionHeader;
            s.Height = 1000;
            s.Visible = true;
    
            TextField f = new TextField();
            f.Name = "Title";
            f.Text.Expression = "Title";
            f.Left = 0;
            f.Top = 0;
            f.Width = rep.Layout.Width;
            f.Height = 500;
            f.Align = FieldAlignEnum.LeftMiddle;
            f.Font.Bold = true;
            f.Font.Size = 12;
            f.Border = new C1.WPF.Document.Border
            (2, Color.FromRgb(0, 0, 0), C1.WPF.Document.DashStyle.Solid);
            f.BackColor = Color.FromRgb(150, 150, 220);
            f.MarginLeft = 100;
            s.Fields.Add(f);
            rep.Render();
    }
    
  5. レポートをプレビュー表示します。[Employees]ボタンをクリックして、レポートをレンダリングします。
  6. [Sort Report by Employee First Name]ボタンをクリックして、レポートのソート結果を表示します。