/// <summary>
/// SaveReportFile - レポートをRPXファイルに保存するために、[ファイルを保存する]ダイアログを開く
/// </summary>
private void SaveReportFile()
{
//レポートは一度保存されている場合、すでに有効なパスが用意されているので、SaveReportを呼び出す。
if(this._alreadySaved)
{
this.ardMain.SaveReport(this._savedPath);
}
else
{
//保存するファイルとパスを取得するための[保存]ダイアログを開く
this.dlgSaveFile.Filter = "ActiveReport Report Design (RPX) (*.rpx)|*.rpx";
this.dlgSaveFile.FileName = "Report.rpx";
this.dlgSaveFile.FilterIndex = 2;
this.dlgSaveFile.RestoreDirectory = true ;
this.dlgSaveFile.DefaultExt = ".rpx";
if(dlgSaveFile.ShowDialog() == DialogResult.OK)
{
//保存された新しいレポートを最近のドキュメントキャッシュに追加する
if(System.IO.File.Exists(Application.StartupPath + @"\Settings\recent.xml"))
{
DataSet _reportsDS = new DataSet();
_reportsDS.Locale = CultureInfo.InvariantCulture;
_reportsDS.ReadXml(Application.StartupPath + @"\Settings\recent.xml");
DataTable _reportsTable = _reportsDS.Tables["Reports"];
_reportsTable.Locale = CultureInfo.InvariantCulture;
//行を作成する
DataRow _rowReports = _reportsTable.NewRow();
object [] _myArray = new object[2];
this._savedPath = this.dlgSaveFile.FileName;
_myArray[0] = this.dlgSaveFile.FileName;
_myArray[1] = System.DateTime.Now;
_rowReports.ItemArray = _myArray;
_reportsTable.Rows.Add(_rowReports);
_reportsDS.WriteXml(Application.StartupPath + @"\Settings\recent.xml", XmlWriteMode.WriteSchema);
}
this.ardMain.SaveReport(this._savedPath);
}
}
}