6

BIRTでグループ化する場合、グループ化の値を次のように最初の行に表示することがよくあります。

Group   User                       Reputation
------  ---------------            ----------
Admins  Bill The Weasel                51,018
        Mark Grovel                   118,101
Users   Pax_my_bags_got_to_go          73,554
        Jon Scoot                  **,***,*** <- overflow
        Clueless                       92,928

これを実現する通常の方法は、デザイナーのグループを次のようにレイアウトすることです。

        +---------+--------+--------------+
Tbl Hdr | Group   | User   |   Reputation |
        +---------+--------+--------------+
Grp Hdr | [Group] |        |              |
        +---------+--------+--------------+
Grp Dtl |         | [User] | [Reputation] |
        +---------+--------+--------------+
Grp Ftr |         |        |              |
        +---------+--------+--------------+
Tbl Ftr |         |        |              |
        +---------+--------+--------------+

残念ながら、これはデータを正確にそのようにレイアウトし、グループ化された値を別の行に配置します。

Group   User                       Reputation
------  ---------------            ----------
Admins
        Bill The Weasel                51,018
        Mark Grovel                   118,101
Users
        Pax_my_bags_got_to_go          73,554
        Jon Scoot                  **,***,*** <- overflow
        Clueless                       92,928

これは、必要な2倍のスペースを使用するため、ユーザーが1人だけのグループが多数あるデータでは特に問題になります。[Group]データ項目をその行まで移動するGrp Dtlと、グループ内のすべての行にデータが出力されます。

Grp HdrBIRTで、2つの線と最初の線をどのようにマージしGrp Dtlますか?

4

3 に答える 3

6

以下の答えはMystikの元の答えでしたが、私が思うに、それを正しく機能させることができませんでした(2番目の提案を試しなかったので、うまくいくかもしれません)。これは、バックレベルのBIRTを実行していることが原因である可能性があります(残念ながら、アップグレードは許可されていません。独自のリリースサイクルを持つ別の製品の一部です)。

私が最終的に見つけた解決策は、グループ化行にデータ値を残し、セル(データ値ではない)を選択してから、のDropコントロールをデフォルトではなく設定することでした。PropertiesGeneralDetailNone

これにより、レポートをレンダリングするときにデータ値が詳細行に表示されます。

そして、私は担当者の娼婦になりたくないので、私は自分自身を追加するのではなく、この回答を編集しています:-)


次の手順に従ってください。

  1. そのままグループを作成します。
  2. 次に、グループデータ項目を1行下にドラッグします(以下を参照)。この時点で、必要に応じてグループヘッダー行を削除できます。
  3. 次に、グループデータ項目が含まれている列をクリックします。
  4. 選択したら、コントロールのプロパティエクスプローラーに移動し、一番下までスクロールして[詳細]を選択します。
  5. 詳細リストには、「SuppressDuplicates」というプロパティが表示されます。これをグループデータを含む列に当てはめると、すべて設定されます。

              Supress
             Duplicates
            +---------+--------+--------------+
    Tbl Hdr | Group   | User   |   Reputation |
            +---------+--------+--------------+
    Grp Hdr |                                 |  <-delete this row AFTER Group Creation
            +---------+--------+--------------+
    Grp Dtl | [Group] | [User] | [Reputation] |
            +---------+--------+--------------+
    Grp Ftr |         |        |              |
            +---------+--------+--------------+
    Tbl Ftr |         |        |              |
            +---------+--------+--------------+
    
于 2010-03-19T18:01:19.063 に答える
1

前の解決策はうまく機能しますが、グループヘッダーの内側の境界線を非表示にする明白な方法が見つかりませんでした。これが私たちが見つけた解決策です:

  1. 詳細行からヘッダー行の空のセルに要素をコピーします。
  2. イベントonCreateでループ変数を初期化します

    i=0; // in onCreate property of group header row

  3. 'Visibility'プロパティエディタタブで条件を変更します。条件に対して「要素を非表示」をチェックします

    i++ == 0

したがって、最終的なレイアウトは次のようになります。

   +---------+--------+--------------+
   | Tbl Hdr | Group  |    User      |
   +---------+--------+--------------+
   | [Group] | [User] | [Reputation] |
   +---------+--------+--------------+
   |         | [User] | [Reputation] | <-- that's the line that hide first element  
   +---------+--------+--------------+
   |         |        |              |
   +---------+--------+--------------+
于 2011-03-04T16:24:16.570 に答える
0

グループデータが入力または配置されているセルを選択し、プロパティエクスプローラーで[なし]ではなく[ドロップ]>[すべて]を選択します。

または、別のgroup_dataセルとdata_fieldセルのセルに対して[ドロップ]>[詳細]を選択します。

于 2014-09-17T08:19:15.390 に答える