MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
展開マークに独自のアイコンを表示させる

MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集 > データ連結(階層表示) > 展開マークに独自のアイコンを表示させる

自動的に表示される展開用マークは自由に変更することができます。

【実行例】

インジケータの変更


 private void Form1_Load(object sender, System.EventArgs e)
 {

   //データセットを手動で作成します
   DataSet ds = new DataSet();
   DataTable fpParent;
   DataTable fpChild1;

   fpParent = ds.Tables.Add("SampleTable");
   fpParent.Columns.AddRange(new DataColumn[] {
               new DataColumn("Name", Type.GetType("System.String")),
               new DataColumn("ID", Type.GetType("System.Int32"))});

   fpParent.Rows.Add(new object[] {"親データ1", 123});
   fpParent.Rows.Add(new object[] {"親データ2", 456});

   fpChild1 = ds.Tables.Add("ChildTable");
   fpChild1.Columns.AddRange(new DataColumn[] {
               new DataColumn("Child-Name", Type.GetType("System.String")),
               new DataColumn("ID", Type.GetType("System.Int32"))});

   fpChild1.Rows.Add(new object[] {"子データ1-1", 123});
   fpChild1.Rows.Add(new object[] {"子データ1-2", 123});
   fpChild1.Rows.Add(new object[] {"子データ1-3", 123});
   fpChild1.Rows.Add(new object[] {"子データ1-4", 123});
   fpChild1.Rows.Add(new object[] {"子データ1-5", 123});
   fpChild1.Rows.Add(new object[] {"子データ1-6", 123});
   fpChild1.Rows.Add(new object[] {"子データ1-7", 123});

   fpChild1.Rows.Add(new object[] {"子データ2-1", 456});
   fpChild1.Rows.Add(new object[] {"子データ2-2", 456});

   //テーブル間のリレーションを設定します
   ds.Relations.Add("Relation1", fpParent.Columns["ID"], fpChild1.Columns["ID"]);

   //作成されたデータセットを接続します
   fpSpread1.ActiveSheet.DataSource = ds;

   //1行目を展開します
   fpSpread1.ActiveSheet.ExpandRow(0, true);

   FarPoint.Win.Spread.SpreadView sv = fpSpread1.GetRootWorkbook();
   //展開中のアイコンを設定します
   sv.SetImage(FarPoint.Win.Spread.SpreadView.ExpandImage, Image.FromFile("画像ファイルパス名"));
   //折りたたみ中のアイコンを設定します
   sv.SetImage(FarPoint.Win.Spread.SpreadView.CollapseImage, Image.FromFile("画像ファイルパス名"));

 }
 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

   'データセットを作成します
   Dim ds As New DataSet
   Dim fpParent As DataTable
   Dim fpChild1 As DataTable

   fpParent = ds.Tables.Add("SampleTable")
   fpParent.Columns.AddRange(New DataColumn() { _
               New DataColumn("Name", Type.GetType("System.String")), _
               New DataColumn("ID", Type.GetType("System.Int32"))})

   fpParent.Rows.Add(New Object() {"親データ1", 123})
   fpParent.Rows.Add(New Object() {"親データ2", 456})

   fpChild1 = ds.Tables.Add("ChildTable")
   fpChild1.Columns.AddRange(New DataColumn() { _
               New DataColumn("Child-Name", Type.GetType("System.String")), _
               New DataColumn("ID", Type.GetType("System.Int32"))})

   fpChild1.Rows.Add(New Object() {"子データ1-1", 123})
   fpChild1.Rows.Add(New Object() {"子データ1-2", 123})
   fpChild1.Rows.Add(New Object() {"子データ1-3", 123})
   fpChild1.Rows.Add(New Object() {"子データ1-4", 123})
   fpChild1.Rows.Add(New Object() {"子データ1-5", 123})
   fpChild1.Rows.Add(New Object() {"子データ1-6", 123})
   fpChild1.Rows.Add(New Object() {"子データ1-7", 123})

   fpChild1.Rows.Add(New Object() {"子データ2-1", 456})
   fpChild1.Rows.Add(New Object() {"子データ2-2", 456})

   'テーブル間のリレーションを設定します
   ds.Relations.Add("Relation1", fpParent.Columns("ID"), fpChild1.Columns("ID"))

   '作成されたデータセットを接続します
   FpSpread1.ActiveSheet.DataSource = ds

   '1行目を展開します
   FpSpread1.ActiveSheet.ExpandRow(0, True)

   Dim sv As FarPoint.Win.Spread.SpreadView = FpSpread1.GetRootWorkbook()
   '展開中のアイコンを設定します
   sv.SetImage(FarPoint.Win.Spread.SpreadView.ExpandImage, Image.FromFile("画像ファイルパス名"))
   '折りたたみ中のアイコンを設定します
   sv.SetImage(FarPoint.Win.Spread.SpreadView.CollapseImage, Image.FromFile("画像ファイルパス名"))

 End Sub