作成日: 2021/03/25 最終更新日: 2021/03/25
文書種別
使用方法
詳細
FlexPivotの内容をExcelに保存するために「エクスポート」ボタンをクリックすると、デフォルトの保存先が設定されたファイル保存ダイアログが開きます。
このデフォルトの保存先を変更するには、「エクスポート」ボタンに使用されている組み込みのC1CommandLinkを削除してカスタムのC1CommandLinkに置き換えた後、そのクリックイベントで、初期フォルダを指定したファイル保存ダイアログを表示し、Excelへの保存を行います。
具体的な手順として、まずC1FlexPivotPageのToolBarプロパティを用いてツールバーにアクセスし、C1CommandLinksのRemoveAtメソッドを使用して目的のコマンドリンク(2番目、名前は"Export")を削除します。
次いで、C1CommandLinksのInsertメソッドを使用して、同じ位置に新しいカスタムコマンドリンクを挿入し、そのClickイベントにて、デフォルトの保存先を設定したSaveFileDialogを表示します。OKがクリックされたら、FlexPivotGridとして内部使用しているC1FlexGridのSaveExcelメソッドを用いて、グリッドのデータを手動でExcelに保存します。
◎サンプルコード(VB)
このデフォルトの保存先を変更するには、「エクスポート」ボタンに使用されている組み込みのC1CommandLinkを削除してカスタムのC1CommandLinkに置き換えた後、そのクリックイベントで、初期フォルダを指定したファイル保存ダイアログを表示し、Excelへの保存を行います。
具体的な手順として、まずC1FlexPivotPageのToolBarプロパティを用いてツールバーにアクセスし、C1CommandLinksのRemoveAtメソッドを使用して目的のコマンドリンク(2番目、名前は"Export")を削除します。
次いで、C1CommandLinksのInsertメソッドを使用して、同じ位置に新しいカスタムコマンドリンクを挿入し、そのClickイベントにて、デフォルトの保存先を設定したSaveFileDialogを表示します。OKがクリックされたら、FlexPivotGridとして内部使用しているC1FlexGridのSaveExcelメソッドを用いて、グリッドのデータを手動でExcelに保存します。
◎サンプルコード(VB)
Imports System.ComponentModel
Imports C1.Win.C1Command
Imports C1.Win.C1FlexGrid
Public Class Form1
Public Sub FormLoad() Handles Me.Load
Dim toolBar As C1ToolBar = FlexPivotPage1.ToolBar
Dim cmdLink1 As C1CommandLink = toolBar.CommandLinks(2)
toolBar.CommandLinks.RemoveAt(2)
Dim cmdLink2 As C1CommandLink = New C1CommandLink()
Dim _cmd2 As C1Command = New C1Command()
cmdLink2.ToolTipText = cmdLink1.ToolTipText
_cmd2.Image = cmdLink1.Command.Image
cmdLink2.Command = _cmd2
AddHandler _cmd2.Click, AddressOf customCmdClick
toolBar.CommandLinks.Insert(2, cmdLink2)
End Sub
Private Sub customCmdClick(sender As Object, e As ClickEventArgs)
Dim _saveDialog As SaveFileDialog = New SaveFileDialog()
_saveDialog.Filter = "Excel (*.xlsx,*xlsx)|*.xlsx;*xls"
_saveDialog.Title = "Export"
_saveDialog.InitialDirectory = "C:"
_saveDialog.FileName = "Default"
_saveDialog.RestoreDirectory = True
AddHandler _saveDialog.FileOk, AddressOf SaveFileOK
_saveDialog.ShowDialog()
End Sub
Private Sub SaveFileOK(sender As Object, e As CancelEventArgs)
Dim _saveDialog = CType(sender, SaveFileDialog)
FlexPivotPage1.FlexPivotGrid.SaveExcel(_saveDialog.FileName, FileFlags.AsDisplayed Or FileFlags.IncludeFixedCells)
End Sub
End Class
◎サンプルコード(C#)using C1.Win.C1Command;
using C1.Win.C1FlexGrid;
namespace FlexPivotOpenDir
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
C1ToolBar toolBar = flexPivotPage1.ToolBar;
C1CommandLink cmdLink1 = toolBar.CommandLinks[2];
toolBar.CommandLinks.RemoveAt(2);
C1CommandLink cmdLink2 = new C1CommandLink();
C1Command _cmd2 = new C1Command();
cmdLink2.ToolTipText = cmdLink1.ToolTipText;
_cmd2.Image = cmdLink1.Command.Image;
cmdLink2.Command = _cmd2;
_cmd2.Click += customCmdClick;
toolBar.CommandLinks.Insert(2, cmdLink2);
}
private void customCmdClick(object sender, ClickEventArgs e)
{
SaveFileDialog _saveDialog = new SaveFileDialog();
_saveDialog.Filter = "Excel (*.xlsx,*xlsx)|*.xlsx;*xls";
_saveDialog.Title = "Export";
_saveDialog.InitialDirectory = "C:";
_saveDialog.FileName = "Default";
_saveDialog.RestoreDirectory = true;
_saveDialog.FileOk += SaveFileOK;
_saveDialog.ShowDialog();
}
private void SaveFileOK(object sender, CancelEventArgs e)
{
SaveFileDialog _saveDialog = (SaveFileDialog)(sender);
flexPivotPage1.FlexPivotGrid.SaveExcel(_saveDialog.FileName, (FileFlags.AsDisplayed | FileFlags.IncludeFixedCells));
}
}
}
旧文書番号
86520