PowerTools SPREAD for ASP.NET 8.0J > 開発者の手引き > データ連結 > 連結行のカスタマイズ |
通常、データを連結すると列が自動生成され、またデータ型に応じたセル型が自動的に適用されますが、このような自動生成機能を無効にし、表示列やセル型を個別に制御することができます。
また、データソースに非連結な状態で行を追加することも可能です。詳細については「行の追加」を参照してください。
列の自動生成を禁止するには、SheetView クラスのAutoGenerateColumns プロパティをfalseに設定します。このとき、Columns プロパティが参照する列コレクションから特定の列に対して、DataField プロパティに連結するデータのフィールドを指定します。
セル型を制御するには、SheetView クラスのDataAutoCellTypes プロパティを使用します。セル型の自動割り当てを無効にするには、このプロパティをfalseに設定します。
次のサンプルコードは、カラム1〜3のみ連結し、カラム2のセル型をパーセント型に変更します。
// データを作成します。 DataTable dt = new DataTable(); dt.Columns.Add("カラム1", Type.GetType("System.String")); dt.Columns.Add("カラム2", Type.GetType("System.Double")); dt.Columns.Add("カラム3", Type.GetType("System.String")); dt.Columns.Add("カラム4", Type.GetType("System.String")); dt.Rows.Add(new object[] { "aaa", 0.8, "111", "AAA" }); dt.Rows.Add(new object[] { "bbb", 0.2, "222", "BBB" }); dt.Rows.Add(new object[] { "ccc", 0.51, "333", "CCC" }); dt.Rows.Add(new object[] { "eee", 0.78, "444", "DDD" }); dt.Rows.Add(new object[] { "ddd", 1, "555", "EEE" }); FpSpread1.DataSource = dt; // 列とセル型の自動生成を無効にします。 FpSpread1.ActiveSheetView.AutoGenerateColumns = false; FpSpread1.ActiveSheetView.DataAutoCellTypes = false; // 特定のカラムのみ連結します。 FpSpread1.ActiveSheetView.Columns[0].DataField = "カラム1"; FpSpread1.ActiveSheetView.Columns[1].DataField = "カラム2"; FpSpread1.ActiveSheetView.Columns[2].DataField = "カラム3"; // 2列目のカラムのセル型をパーセント型に設定します。 FarPoint.Web.Spread.PercentCellType percent = new FarPoint.Web.Spread.PercentCellType(); FpSpread1.ActiveSheetView.Columns[1].CellType = percent;
' データを作成します。 Dim dt As New DataTable() dt.Columns.Add("カラム1", Type.GetType("System.String")) dt.Columns.Add("カラム2", Type.GetType("System.Double")) dt.Columns.Add("カラム3", Type.GetType("System.String")) dt.Columns.Add("カラム4", Type.GetType("System.String")) dt.Rows.Add(New Object() { "aaa", 0.8, "111", "AAA" }) dt.Rows.Add(New Object() { "bbb", 0.2, "222", "BBB" }) dt.Rows.Add(New Object() { "ccc", 0.51, "333", "CCC" }) dt.Rows.Add(New Object() { "eee", 0.78, "444", "DDD" }) dt.Rows.Add(New Object() { "ddd", 1, "555", "EEE" }) FpSpread1.DataSource = dt ' 列とセル型の自動生成を無効にします。 FpSpread1.ActiveSheetView.AutoGenerateColumns = False FpSpread1.ActiveSheetView.DataAutoCellTypes = False ' 特定のカラムのみ連結します。 FpSpread1.ActiveSheetView.Columns(0).DataField = "カラム1" FpSpread1.ActiveSheetView.Columns(1).DataField = "カラム2" FpSpread1.ActiveSheetView.Columns(2).DataField = "カラム3" ' 2列目のカラムのセル型をパーセント型に設定します。 Dim percent As New FarPoint.Web.Spread.PercentCellType() FpSpread1.ActiveSheetView.Columns(1).CellType = percent