- PR -

DataGridViewの表示方法について

1
投稿者投稿内容
C#初心者
会議室デビュー日: 2008/11/13
投稿数: 11
投稿日時: 2008-11-13 10:25
言語:C#2005

行き詰まっているので質問させて頂きました。
現在C#とSQLServer2005を使用しデータベースプログラムを作成中です。
DataSetを使用し、新規レコードを追加し、データベースをUpdateして、
そのテーブルをDataGridViewに表示させています。
デザイナで、既にヘッダーを付けているのですが、このソースで実行すると
データベースに追加は出来るのですが、表示が上手いことできません・・。
レコード数は合っているのですが、中身がすべて空白で表示されます。
デザイナのヘッダーを削除すると正しく表示されるのですが・・。
デザイナのヘッダーを表示させて、データだけを表示させる事はできないのでしょうか?
色々と調べてやってはみたのですが、できない状況です。
ソースは以下の通りです。
お分かりの方がいっらしゃいましたら是非教えて下さい。
宜しくお願い致します。

string connStr = "Server=サーバー名;"
+ "Trusted_Connection=yes;"
+ "database=データベース名";
string selectStr = "SELECT 患者コード,フリガナ,氏名,性別,生年月日 FROM tblK_Kihon";

SqlDataAdapter da = new SqlDataAdapter(selectStr, connStr);
DataSet ds = new DataSet();
da.Fill(ds, "tblKihon_K");

DataTable dt = ds.Tables["tblKihon_K"];

// 行の追加
DataRow newRow = dt.NewRow();
newRow["患者コード"] = "88";
newRow["フリガナ"] = "ミホンタロウ";
newRow["氏名"] = "見本二郎";
newRow["性別"] = "男";
newRow["生年月日"] = "1975/10/31";

dt.Rows.Add(newRow);
SqlCommandBuilder cb = new SqlCommandBuilder(da);

da.Update(ds, "tblKihon_K");

dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = ds.Tables[0];




なかむら
ベテラン
会議室デビュー日: 2008/11/11
投稿数: 67
お住まい・勤務地: 福岡
投稿日時: 2008-11-13 11:12
DataGridViewColumn の DataPropertyName プロパティに、
DataTable の列名を設定していますか?

(例)
dataGridView1.Columns[1].DataPropertyName = "フリガナ"


C#初心者
会議室デビュー日: 2008/11/13
投稿数: 11
投稿日時: 2008-11-13 11:30
なかむら様
回答ありがとうございます。
ご指摘の設定をすると上手い事いきました。
こんな単純な事だったんですね。

DataGridViewについてはもっと勉強が必要ですね・・。
とても助かりました、また何かあれば宜しくお願い致します。
1

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