23

以下は私が作成したレポートです。画像の赤い線で描かれているように、グループごとに線を引きたいと思います。
テキストボックスのプロパティ>境界線スタイルの式をいじってみました。しかし、私がそれを閉じて再び開くと、それはとどまりません。
グループ全体に境界線を設定すると、グループ内の不要な行ごとに行が繰り返されます。

何か助けはありますか?

ここに画像の説明を入力してください

4

6 に答える 6

37
  1. MicrosoftSQLServerレポートビルダーのタブをクリックしViewます。
  2. [プロパティ]ウィンドウが表示されるように、Propertiesチェックボックスがオンになっていることを確認します。
  3. ProductionCountryグループ行全体を選択します。行のプロパティが表示されます。
  4. Borderプロパティで-> BorderStyle->まで掘り下げTopます。値はおそらく空白になります。
  5. Topフィールドに、上部の境界線として以下の式を入力します。

トップフィールド値:

=IIF(Fields!ProductionCountry.Value = Previous(Fields!ProductionCountry.Value) OR Fields!ProductionCountry.Value = First(Fields!ProductionCountry.Value, "mydataset"),"None","Solid")

mydatasetレポートのデータセット名と一致するように上記の値を変更してください。

ノート:

現在の行が前の行と同じグループに属している場合、または現在のグループ行がデータセットの最初の行である場合は、borderをnoneに設定し、borderをsolidに設定します。

于 2011-09-30T08:21:28.210 に答える
5

詳細行全体を選択し、この式をBorderStyle-Topプロパティに追加します。

=IIF((Previous(Fields!ProductionCountry.Value) <> Fields!ProductionCountry.Value) 
    OR (Previous(Fields!IndustryName.Value) <> Fields!IndustryName.Value) 
    OR (Previous(Fields!ProductGroup.Value) <> Fields!ProductGroup.Value), 
    "Solid",
    "None")
于 2011-09-30T03:27:59.063 に答える
5

@niktrsの答えを改善するために、私は提案します:

=Iif(Fields!ProductionCountry.Value = Previous(Fields!ProductionCountry.Value) OR IsNothing(Previous(Fields!ProductionCountry.Value)),"None","Solid")


これには、たとえば、並べ替えやフィルタリングが行われている場合など、表示される最初のグループがデータセットの最初のグループではない場合でも、最初のグループ行に行を追加しないという利点があります。

于 2013-05-08T12:37:54.263 に答える
2

私が本当に簡単だと思ったのは、グループの上部の境界線を定義することです。このようにして、新しいグループごとに、前のグループの最後の行と新しいグループの最初の行の間に境界線が追加されます。また、ヘッダーの後に境界線を追加します。

このソリューションでは、最後の行の終わりに境界線は描画されません。その境界線も必要な場合は、グループを含むTablixの下の境界線を定義できます。

于 2014-04-16T09:09:43.610 に答える
0
=Iif(Fields!ProductionCountry.Value ="","None","Solid")

また、境界線のデフォルトを変更します。none left solid right solid bottomnonetop上記の式。長方形のプロパティにブートームの順序を変更します。

私はトップボーダーのためにこのように試しました、そしてそれはうまくいきました...

于 2014-09-24T09:25:40.923 に答える
0

私の場合、集計値があるため、前の関数を使用できないため、そのグループの最初の値になることがわかっているグループの最初の値をハードコーディングしました。次に、ボーダースタイルでこの式を使用しました。

Top =iif(Fields!Group_Name.Value="Hard Corded(first value)","Solid","None")

ボーダーカラーでもこの表現を使用

=iif(Fields!Group_Name.Value="Hard Corded(first value)",,"Black","LightGrey")
于 2016-03-18T15:57:51.473 に答える