- PR -

DataGridViewの列幅変更について

1
投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2006/06/27
投稿数: 24
投稿日時: 2006-07-03 10:48
お世話になっております。

C#のDataGridViewを用いて列ごとに幅を変更したいのですが、
どのようにすると変更でくるのでしょうか?
VS2003までは以下のようなプログラムで変更でしたのですが、
2005では
dataGrid1.TableStyles.Add(dgTableStyle);
dataGrid1.SetDataBinding(dataSet1, dataTable1.TableName);

といった箇所でエラーが出てしまいます。
2005からは変更方法が変わったのでしょうか?
ご指導よろしくお願いいたします。


※名称はVS2003のもの

private void Form1_Load(object sender, System.EventArgs e)
{
// テーブルを作成
DataSet dataSet1 = new DataSet("商品マスター");
DataTable dataTable1 = dataSet1.Tables.Add("商品テーブル");
DataColumn dataClumn1 = dataTable1.Columns.Add("ID", typeof(int));
DataColumn dataClumn2 = dataTable1.Columns.Add("商品");
DataColumn dataClumn3 = dataTable1.Columns.Add("個数", typeof(int));

// テーブルのスタイルを作成
DataGridTableStyle dgTableStyle = new DataGridTableStyle();
dgTableStyle.MappingName = dataTable1.TableName;
dataGrid1.TableStyles.Add(dgTableStyle);

// テーブルの列のスタイルを作成
DataGridTextBoxColumn dgColumnStyle1 = new DataGridTextBoxColumn();
DataGridTextBoxColumn dgColumnStyle2 = new DataGridTextBoxColumn();
DataGridTextBoxColumn dgColumnStyle3 = new DataGridTextBoxColumn();
dgColumnStyle1.MappingName = dataClumn1.ColumnName;
dgColumnStyle2.MappingName = dataClumn2.ColumnName;
dgColumnStyle3.MappingName = dataClumn3.ColumnName;
// *** 列の幅を決定 ***
dgColumnStyle1.Width = 30;
dgColumnStyle2.Width = 100;
dgColumnStyle3.Width = 50;
// 列のスタイルをテーブル・スタイルに登録
dgTableStyle.GridColumnStyles.Add(dgColumnStyle1);
dgTableStyle.GridColumnStyles.Add(dgColumnStyle2);
dgTableStyle.GridColumnStyles.Add(dgColumnStyle3);

// テーブルにデータを追加
dataTable1.Rows.Add(new Object[] {1, "みかん", 100});

// データグリッドにテーブルを表示する
dataGrid1.SetDataBinding(dataSet1, dataTable1.TableName);
}
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-07-03 15:03
引用:

ten@初心者さんの書き込み (2006-07-03 10:48) より:
お世話になっております。

C#のDataGridViewを用いて列ごとに幅を変更したいのですが、
どのようにすると変更でくるのでしょうか?
VS2003までは以下のようなプログラムで変更でしたのですが、
2005では
dataGrid1.TableStyles.Add(dgTableStyle);
dataGrid1.SetDataBinding(dataSet1, dataTable1.TableName);


dataGrid1 は DataGrid ですか?それとも DataGridView ですか?
dgTableStyle の型は何ですか?

引用:

といった箇所でエラーが出てしまいます。
2005からは変更方法が変わったのでしょうか?


どういったエラー(例外?)が出るのでしょうか
詳細に教えてください
未記入
常連さん
会議室デビュー日: 2006/06/27
投稿数: 24
投稿日時: 2006-07-03 15:42
dataGrid1はDataGridViewです。
dgTableStyle の型はちょっと分かりません・・・

エラーは、
エラー 1 'System.Windows.Forms.DataGridView' に 'TableStyles' の定義がありません。
エラー 2 'System.Windows.Forms.DataGridView' に 'SetDataBinding' の定義がありません。

といったエラーが出ています。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-07-03 16:52
引用:

ten@初心者さんの書き込み (2006-07-03 15:42) より:
dataGrid1はDataGridViewです。
dgTableStyle の型はちょっと分かりません・・・


うーん、 DataGrid をそのまま DataGridView に置き換えたのかな
DataGridView ならバインドした後に、カラムを直接指定して列幅の指定が出来ます。

コード:
dataGridView1.DataSource = dataTable1;
dataGridView1.Columns[0].Width = 120;

未記入
常連さん
会議室デビュー日: 2006/06/27
投稿数: 24
投稿日時: 2006-07-03 17:37
あるあさんご返答ありがとうございます。
解決することができました。
こんなに簡単に出来たのですね( ̄◇ ̄;

1

スキルアップ/キャリアアップ(JOB@IT)