ITable インターフェースおよびそのメンバーの DataSourceプロパティを使用することで、テーブルをデータソースに自動的に連結できます。DataSource プロパティを設定する前に、テーブルの AutoGenerateColumns プロパティを true に設定してください。そうしない場合、現在のテーブル列が維持されます。
以下の例をご参照ください。ある企業の経理部門が、従業員の出張情報(フライトID、フライト日付、出発地、目的地など)をデータベースで管理しています。このデータベースは、自動的にテーブルに読み込まれ、出張の詳細を表示することができます。

|
コードのコピー
|
|
|---|---|
// AutoGenerateColumnsをtrueに設定した場合のテーブルの連結。 GrapeCity.Spreadsheet.IWorksheet sheet = spreadSheet1.Workbook.ActiveSheet; // テーブルデータを作成します。 DataSet ds = new DataSet(); DataTable flightDetails = new DataTable("フライト詳細"); // DataTableの列を定義します。 flightDetails.Columns.Add("乗客名"); flightDetails.Columns.Add("部門"); flightDetails.Columns.Add("チケット種別"); flightDetails.Columns.Add("フライトID"); flightDetails.Columns.Add("フライト日付"); flightDetails.Columns.Add("出発地"); flightDetails.Columns.Add("目的地"); // フライト詳細の行を追加します。 flightDetails.Rows.Add("山田 太郎", "営業部", "エコノミー", 7855, new DateTime(2021, 10, 11).ToShortDateString(), "東京", "大阪"); flightDetails.Rows.Add("佐藤 花子", "サービス部", "エコノミー", 7426, new DateTime(2021, 10, 12).ToShortDateString(), "札幌", "福岡"); flightDetails.Rows.Add("鈴木 一郎", "経理部", "ビジネス", 7641, new DateTime(2021, 10, 15).ToShortDateString(), "名古屋", "那覇"); flightDetails.Rows.Add("高橋 美咲", "研究開発部", "エコノミー", 7293, new DateTime(2021, 10, 18).ToShortDateString(), "仙台", "広島"); flightDetails.Rows.Add("田中 誠", "マーケティング部", "ビジネス", 7117, new DateTime(2021, 10, 20).ToShortDateString(), "京都", "新潟"); // DataSetにDataTableを追加します。 ds.Tables.Add(flightDetails); // テーブルを作成します。 sheet.Cells["A1"].Value = "※経理部専用"; GrapeCity.Spreadsheet.ITable table = sheet.Range("A2:G7").CreateTable(true); // 列の自動生成を有効化します。 table.AutoGenerateColumns = true; // テーブルをDataSourceに連結します。 table.DataSource = ds; |
|
|
コードのコピー
|
|
|---|---|
' AutoGenerateColumnsをtrueに設定した場合のテーブルの連結。 Dim sheet As GrapeCity.Spreadsheet.IWorksheet = spreadSheet1.Workbook.ActiveSheet ' テーブルデータを作成します。 Dim ds As DataSet = New DataSet() Dim flightDetails As DataTable = New DataTable("フライト詳細") ' DataTableの列を定義します。 flightDetails.Columns.Add("乗客名") flightDetails.Columns.Add("部門") flightDetails.Columns.Add("チケット種別") flightDetails.Columns.Add("フライトID") flightDetails.Columns.Add("フライト日付") flightDetails.Columns.Add("出発地") flightDetails.Columns.Add("目的地") ' フライト詳細の行を追加します。 flightDetails.Rows.Add("山田 太郎", "営業部", "エコノミー", 7855, New DateTime(2021, 10, 11).ToShortDateString(), "東京", "大阪") flightDetails.Rows.Add("佐藤 花子", "サービス部", "エコノミー", 7426, New DateTime(2021, 10, 12).ToShortDateString(), "札幌", "福岡") flightDetails.Rows.Add("鈴木 一郎", "経理部", "ビジネス", 7641, New DateTime(2021, 10, 15).ToShortDateString(), "名古屋", "那覇") flightDetails.Rows.Add("高橋 美咲", "研究開発部", "エコノミー", 7293, New DateTime(2021, 10, 18).ToShortDateString(), "仙台", "広島") flightDetails.Rows.Add("田中 誠", "マーケティング部", "ビジネス", 7117, New DateTime(2021, 10, 20).ToShortDateString(), "京都", "新潟") ' DataSetにDataTableを追加します。 ds.Tables.Add(flightDetails) ' テーブルを作成します。 sheet.Cells("A1").Value = "※経理部専用" Dim table As GrapeCity.Spreadsheet.ITable = sheet.Range("A2:G7").CreateTable(True) ' 列の自動生成を有効化します。 table.AutoGenerateColumns = True ' テーブルをDataSourceに連結します。 table.DataSource = ds |
|
