# C1.Report.Field.SubreportHasData

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_Report_Field_SubreportHasData_" data-uid="C1.Report.Field.SubreportHasData*">SubreportHasData Property
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_Report_Field_SubreportHasData_" data-uid="C1.Report.Field.SubreportHasData*"></a>
<h4 id="C1_Report_Field_SubreportHasData" data-uid="C1.Report.Field.SubreportHasData">SubreportHasData</h4>
<div class="markdown level1 summary"><p>Returns whether a subreport has data and suppresses rendering if it doesn't.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">[Browsable(false)]
public bool SubreportHasData { get; }</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">&lt;Browsable(False)&gt;
Public ReadOnly Property SubreportHasData As Boolean</code></pre>
</div>
<h5 id="C1_Report_Field_SubreportHasData_remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This property allows you to check whether a subreport has data and prevent it from rendering if it doesn't.</p>
</div>
<h5 id="C1_Report_Field_SubreportHasData_examples">Examples</h5>
<p>The code below uses script to hide sections with empty subreports:</p>
<pre><code class="lang-csharp">rep.Sections.Detail.OnFormat = "Detail.Visible = fSubreport.SubreportHasData"</code></pre>
<p>The code below uses script to hide a field containing an empty subreport and show another field instead:</p>
<pre><code class="lang-csharp">rep.Sections.Detail.OnFormat = 
    "hasData = fSubreport.SubreportHasData\r\n" +
    "fSubreport.Visible = hasData" +
    "fNoData.Visible = Not hasData\r\n" +</code></pre>

</div>
