3

ちょうど今、私はこの奇妙な問題を抱えており、それを解決するためにVS2012に欠けているものがあるのだろうか. 私は MDI Windows フォームを使用しています。データベースからデータを取得し、データベースのデータを使用してグリッドdataGridViewのプロパティを設定します。dataSourceしかし、古いプロジェクトをこのプロジェクトの足場として使用していても、VS2012 で設計どおりに取得し、その隣に、ヘッダー列に名前が付いていることを除いてdataGridView、設計の一部であるかのようにデータベースからデータを取得します。dataGridViewデータベースからの列の。

しかし、少し調べてみたところ、実際には、この問題はAutoGenerateColumnsプロパティを false に設定することで簡単に解決できることがわかりました。私が見つけられないのは、VS2012 デザイナーのこのプロパティです。今私はこれを使用しています:

        dgvClients.AutoGenerateColumns = false;
        dgvClients.DataSource = mainGridInfoList;

イベントではload、デザイナーを使用して(もちろん可能であれば)dgvClients.AutoGenerateColumns = false;、コードからこの行を削除したいと思います。問題は、その正確な名前のプロパティが表示されないことdataGridViewです。名前が変更されているのでしょうか。コードでまだ使用できるので、ちょっと奇妙でしょうか、それとも IDE デザイナからこれを行う方法がなく、ソース コードに明示的に記述する必要がありますか?

PS

IDE デザイナーを使用することは、この特定の問題に対してあまり良い決定ではないことが起こります (少なくとも私はそう思います)。

AutoGenerateColumn

4

2 に答える 2

4

あなたの質問に役立つ可能性のあるドキュメントを見つけました。

DataGridView.AutoGenerateColumns プロパティから:

ノート:

Windows フォーム デザイナで DataSource を設定すると、AutoGenerateColumns プロパティが自動的に false に設定され、データ ソースの各プロパティの列を追加してバインドするコードが生成されます。設計時に生成されるコードは、次の例に示す手動で追加されたコードと同等です。これは、AutoGenerateColumns プロパティが true に設定されている場合に発生する、実行時の列の自動生成と同じではありません。

于 2013-08-10T00:07:27.893 に答える