レポート プロパティの下に、列のプロパティがあります。
これを two(2) に変更しました。
ただし、デフォルトのレポート ビューアーでは、列は表示されず、列も印刷されません。
そこで、レポートを PDF にエクスポートしてから、そのファイルを印刷しました。
private void Export(LocalReport report)
{
try
{
string deviceInfo =
@"<DeviceInfo>
<OutputFormat>PDF</OutputFormat>
<PageWidth>8.5in</PageWidth>
<PageHeight>11in</PageHeight>
<MarginTop>0.25in</MarginTop>
<MarginLeft>0.25in</MarginLeft>
<MarginRight>0.25in</MarginRight>
<MarginBottom>0.25in</MarginBottom>
</DeviceInfo>";
Warning[] warnings;
string[] streamIds;
string mimeType = string.Empty;
string encoding = string.Empty;
string extension = string.Empty;
m_streams = new List<Stream>();
byte[] bytes = report.Render("PDF", deviceInfo, out mimeType, out encoding, out extension, out streamIds, out warnings);
using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
{
fs.Write(bytes, 0, bytes.Length);
}
foreach (Stream stream in m_streams)
stream.Position = 0;
}
catch (Exception ex)
{
Common.LogManager.WriteToLog(ex.Message + Environment.NewLine + ex.StackTrace);
}
}
次に、印刷するには、新しいプロセスで print dos コマンドを使用します。
ProcessStartInfo psi = new ProcessStartInfo();
psi.UseShellExecute = true;
psi.Verb = "print";
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.FileName = "output.pdf";
Process.Start(psi);
レポートは、私が必要としていたとおりに印刷されました。