作成日: 2020/01/09 最終更新日: 2020/01/09
文書種別
使用方法
詳細
グリッド内の特定の列をツリー列として指定し、それ以下の列を、GroupDescriptionsプロパティを使用してグループ化することで、大量のデータ・複数階層を持つツリー表示のパフォーマンスを改善することができます。
以下に、3階層のツリー表示を行う例を記載します。
※GroupDescriptionsプロパティを使用してグループ化しない場合に比べて、描画時間が大幅に減少することを確認しました。
◎サンプルコード(VB)
以下に、3階層のツリー表示を行う例を記載します。
※GroupDescriptionsプロパティを使用してグループ化しない場合に比べて、描画時間が大幅に減少することを確認しました。
◎サンプルコード(VB)
Imports C1.Win.C1FlexGrid
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
C1FlexGrid1.Cols(1).Caption = "Demo1" : C1FlexGrid1.Cols(1).Name = "Demo1"
C1FlexGrid1.Cols(2).Caption = "Demo2" : C1FlexGrid1.Cols(2).Name = "Demo2"
C1FlexGrid1.Cols(3).Caption = "Demo3" : C1FlexGrid1.Cols(3).Name = "Demo3"
C1FlexGrid1.Cols(4).Caption = "Demo4" : C1FlexGrid1.Cols(4).Name = "Demo4"
C1FlexGrid1.Cols(5).Caption = "Demo5" : C1FlexGrid1.Cols(5).Name = "Demo5"
C1FlexGrid1.AllowEditing = False
C1FlexGrid1.Rows.Count = 1001
Dim j As Integer = 1
Dim i As Integer
For i = 1 To 1000
C1FlexGrid1(i, 1) = "Row" + j.ToString()
C1FlexGrid1(i, 2) = "Row" + j.ToString()
C1FlexGrid1(i, 3) = "Row" + j.ToString()
C1FlexGrid1(i, 4) = "Row" + j.ToString()
C1FlexGrid1(i, 5) = "Row" + i.ToString()
j = j + 1
If (j = 6) Then
j = 1
End If
Next i
C1FlexGrid1.Tree.Column = 1
C1FlexGrid1.Tree.Style = (C1.Win.C1FlexGrid.TreeStyleFlags.SimpleLeaf Or C1.Win.C1FlexGrid.TreeStyleFlags.Complete)
C1FlexGrid1.GroupDescriptions = New GroupDescription() {New GroupDescription("Demo1"), New GroupDescription("Demo2"), New GroupDescription("Demo5")}
End Sub
End Class
◎サンプルコード(C#)using C1.Win.C1FlexGrid;
namespace FlexGridLayerDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
c1FlexGrid1.Cols[1].Caption = c1FlexGrid1.Cols[1].Name = "Demo1";
c1FlexGrid1.Cols[2].Caption = c1FlexGrid1.Cols[2].Name = "Demo2";
c1FlexGrid1.Cols[3].Caption = c1FlexGrid1.Cols[3].Name = "Demo3";
c1FlexGrid1.Cols[4].Caption = c1FlexGrid1.Cols[4].Name = "Demo4";
c1FlexGrid1.Cols[5].Caption = c1FlexGrid1.Cols[5].Name = "Demo5";
c1FlexGrid1.AllowEditing = false;
c1FlexGrid1.Rows.Count = 1001;
int j = 1;
for (int i = 1; i <= 1000; i++)
{
c1FlexGrid1[i, 1] = "Row" + j;
c1FlexGrid1[i, 2] = "Row" + j;
c1FlexGrid1[i, 3] = "Row" + j;
c1FlexGrid1[i, 4] = "Row" + j;
c1FlexGrid1[i, 5] = "Row" + i;
j++;
if (j == 6)
j = 1;
}
c1FlexGrid1.Tree.Column = 1;
c1FlexGrid1.Tree.Style = C1.Win.C1FlexGrid.TreeStyleFlags.SimpleLeaf | C1.Win.C1FlexGrid.TreeStyleFlags.Complete;
c1FlexGrid1.GroupDescriptions = new GroupDescription[] { new GroupDescription("Demo1"), new GroupDescription("Demo2"), new GroupDescription("Demo5") };
}
}
}
旧文書番号
84829