2

c# winforms datagridview に小さな問題があるだけです。これが私のシナリオです

エンティティ フレームワークを使用しており、特定のエンティティ モデルを datagridview データソースにバインドしようとしています。

var query = from q in context.foo
select q;

dgv_Disp.DataSource = query.ToList();

GUI に datagridview があるフォーム クラスで上記のコードを実行すると、すべて正常に動作しました。datagridview は、列と行数を自動的に生成します。

しかし、GUI に datagridview がないことを除いて、まったく同じコードを実行すると、プログラムで宣言してから、上記のコードのようにデータソースを設定するだけです。このようにすると、行も列も生成されません。

これら2つの異なるデータグリッドビューの違いは何ですか? フォームクラスのdesigner.csファイルにプロパティが設定されていることは知っています。しかし、これらの設定をコピーしようとしましたが、まだ入力されません。

おそらく単純なことだとは思いますが、これをまったく理解できません。誰かが私が間違っていることを教えてくれたら、それは素晴らしいことです!

編集

AutoGenerateColumns = true を使用しましたが、違いはありませんでした。また、実際にこのデータグリッドビューを表示しようとしているわけではありません。文字列インデックスを使用してメンバーにアクセスできるように、エンティティ オブジェクトにバインドしているだけです。しかし、実際のシナリオでは、以前のクエリからのエンティティ データが既にあるため、datagridview 固有の形式で情報を取得するためだけにデータベースにクエリを実行したくありません。上記のコードを例として使用しました。

4

5 に答える 5

2

最初、私のデザインにはグリッドがありません。グリッドも動的に追加しています

        AmolEntities db=new AmolEntities();

        DataGrid dataGridView1 = new DataGrid();
        this.Controls.Add(dataGridView1);  

        var v= from n in db.oe_subjects select n;
        dataGridView1.DataSource = v.ToList();
于 2013-08-29T07:10:34.133 に答える