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"

SPREAD デザイナの使用

  1. データセットを作成します。
  2. FpSpread または Sheet オブジェクトの DataSource プロパティに、このデータセットを設定します。
  3. SPREADコンポーネントのSPREADデザイナを開きます。
  4. 列フィールドを設定するシートのシート タブを選択します。
  5. 列とフィールド間の自動マッピングを上書きするため、AutoGenerateColumn プロパティを False に設定します。
  6. データ フィールドを設定する列を選択します。
  7. DataField プロパティを使用して、選択した列に表示するフィールドを設定します。
  8. 必要なすべての列に対し、列の選択とその DataField プロパティの設定を繰り返します。 必要に応じて、一部の列を非連結のままにしておくこともできます。
  9. [ファイル]メニューから[適用して終了]を選択し、変更をコンポーネントに適用して SPREAD デザイナを終了します。
参照

 

 


© MESCIUS inc. All rights reserved.