MESCIUS SPREAD for Windows Forms 17.0J > 開発者ガイド > データ連結 > 連結シートのカスタマイズ > 列の自動生成を無効化 |
シートをデータソースに連結すると、シートの列にはデータソースのフィールドが順序どおり割り当てられます。つまり、1番目のフィールドはA列に、2番目のフィールドは B 列に、以下同様に割り当てられます。この動作を無効にするには、SheetViewクラスのAutoGenerateColumnsプロパティをFalseに設定します。この状態で、列を表すColumnクラスのDataFieldプロパティを、データセットの対象のフィールド名に設定することで、指定したフィールドのみをコントロールに連結できます。
複数のSPREADを1つのデータセットに連結している場合、各SPREADでAutoGenerateColumnsプロパティをFalseに設定します。
データソースが連結されたシートは、デフォルトでは、データベースから列幅を継承します。 列幅を独自に設定するには、データ連結後に列幅を設定するか、または DataAutoSizeColumnsプロパティをFalseに設定してから列幅を設定します。
列とフィールド間の自動マッピングを無効にするために、SheetViewクラスのAutoGenerateColumnプロパティをFalseに設定します。
FpSpreadクラス、またはSheetViewクラスのDataSourceプロパティに、データセットを設定し、フィールドをマッピングする列に対してColumnクラスのDataFieldプロパティにデータセットのフィールド名を設定します。
次のサンプルコードは、コントロールをデータセットに連結してから、最初の4列にデータセットのフィールド名を設定します。
C# |
コードのコピー
|
---|---|
// 列とフィールドの自動マッピングを無効にします。 fpSpread1.Sheets[0].AutoGenerateColumns = false; // コンポーネントをデータセットに連結します。 fpSpread1.DataSource = dataSet1; // 各列のフィールドを設定します。 fpSpread1.Sheets[0].Columns[0].DataField = "Description"; fpSpread1.Sheets[0].Columns[1].DataField = "ID"; fpSpread1.Sheets[0].Columns[2].DataField = "LeadTime"; fpSpread1.Sheets[0].Columns[3].DataField = "Price"; |
Visual Basic |
コードのコピー
|
---|---|
' 列とフィールドの自動マッピングを無効にします。 FpSpread1.Sheets(0).AutoGenerateColumns = False ' コンポーネントをデータセットに連結します。 FpSpread1.DataSource = DataSet1 ' 各列のフィールドを設定します。 FpSpread1.Sheets(0).Columns(0).DataField = "Description" FpSpread1.Sheets(0).Columns(1).DataField = "ID" FpSpread1.Sheets(0).Columns(2).DataField = "LeadTime" FpSpread1.Sheets(0).Columns(3).DataField = "Price" |