2016-08-11 15 views
1

私はコンボボックスをdatagridviewにリンクしており、それは完全に動作しています。しかし、私はdatagridviewを編集可能にする必要がありますが、私はdatagridviewに何も入力することはできません。 ReadOnlyがオフ/オフです。私はdatagridviewの値がcellvaluechangedイベントを使用しようとしましたが、最初にセルを変更する必要があります。エンティティにlinqで編集可能なdatagridviewを作成するにはどうすればよいですか?datagridviewの編集が困難です。どのように編集可能にするのですか?

private void editDataGridView_CellContentClick_1(object sender, DataGridViewCellEventArgs e) 
{ 
    editDataGridView.CellValueChanged 
     += new DataGridViewCellEventHandler(editDataGridView_CellValueChanged); 
} 

private void editDataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e) 
{ 
    MessageBox.Show("Cell Changed"); 
} 

私はコンボボックスとのDataGridView

private void cboeCID_SelectedIndexChanged_1(object sender, EventArgs e) 
{ 
    var CID = Convert.ToInt32(cboeCID.Text); 

    using (Entities2 db = new Entities2()) 
    { 
     var course = from c in db.Student_Course where c.CID == CID select new { 
       SID = c.SID, 
       Mark = c.Mark}; 
       editDataGridView.DataSource = course.ToList(); 
     } 
} 
+0

スニペットコードは –

+0

に動作していないあなたを持っています[EditModeを指定しました](https://msdn.microsoft.com/en-us/library/yztkd864(v = vs.110).aspx)? – stuartd

+0

@stuartd EditonKeystrokeしかし、datagridviewのreadonlyプロパティがfalseに設定されていても、セルに入力することさえできません。 – Anon

答えて

2

をリンクする場所ですがhereが見つかりました:問題は、あなたが選択しているanonymous typeです。

匿名型には、1つ以上のパブリックの読み取り専用プロパティが含まれています。

だから、読み取り専用されている結果セットに持ち越さ、その後DGVにされた。..

あなたはそれだけのためのダミーにすぎない場合でも、クラスに選択する必要がありますこの目的は..

class dummy 
{ 
    public integer SID { get; set; } 
    public integer Mark { get; set; } 

    public dummy() { } 
    public dummy(integer w, integer p) { SID = s; Mark = m; } 
} 

あなた自身のデータ型を挿入してください!以下精彩を欠いた名前;-)あなたが選択変更することができます今

ピック..:

 var course = from c in db.Student_Course where c.CID == CID select new dummy 
    { 
     SID = c.SID, 
     Mark = c.Mark 
     }; 

    editDataGridView.DataSource = course.ToList(); 

..and出来上がり:DataGridViewがeditatable ..です

+0

編集はデータベースに保存されません、私はdb .SaveChanges()が動作しません。 – Anon

+0

私はEFなしでテストしました。 SIDはpkですか?すべての非ヌルフィールドが乗っていますか?通常のADOでは、通常、更新の承認を準備します。ここで私は知らない。データの状態を確認できますか? - データを保存する際の問題は、別の新しい質問です(いくつかの調査の後に)。 – TaW

+0

私はEFを使用しないので、結果として得られるタイプの「varコース」は何か教えてください。 (カーソル上にカーソルを置くと、インテリセンスが知ります!) – TaW

関連する問題