2011-08-12 17 views
0

Windows Forms C#アプリケーションでdatagridviewを使用しています。データソースはDataSetで、TableAdapterがその中にあります。結果を取得するSQLメソッドには、いくつかのINNER JOINがあります。データはグリッドビューに表示されますが、更新したいフィールドがあります。しかし、それはgridviewで読み取り専用です。そのセルに対する読み取り専用値はfalseに設定されます。私は、どこかで私のデータソースが更新可能でないことを読んだので、それがgridviewコントロールが私にそれを更新させない理由です。しかし、私はそれを更新する必要があります。これに対する解決策はありますか?C#でDataGridViewセルを編集できません

+0

フィールドは計算フィールドですか? – evasilchenko

+0

GridViewで編集が有効になっていますか?いくつかのコードを投稿できますか? –

+0

@DeviantSeevいいえ、計算されたフィールドではありません。これはデータベースからの直接のフィールドです。 – Andrej

答えて

0

これはおそらく、ジョインでTableAdapterを使用しているためです。ジョインを使用すると、TableAdapterウィザードはInsert、UpdateおよびDeleteコマンドを自動的に生成できません。

データセットデザイナのTableAdapterのプロパティを調べることで、これが当てはまるかどうかを確認できます。コマンドには(なし)と表示されます。 http://www.asp.net/data-access/tutorials/updating-the-tableadapter-to-use-joins-vb

は個人的に、私は完全にTableAdapterのとその自動生成されたコードを離れてやって、カスタムDATAACCESS層を使用することを好む:ここ

はTableAdapterのにこれらのコマンドを追加することについてのチュートリアルです。

+0

私は答えを残すつもりだが、それは役に立つと分かったが、私はちょうどジョインでテーブルアダプターを使ってみたところ、DataGridviewの編集はうまくいっている。 –

関連する問題