2010-03-08 8 views
0

J'ai un bouton sur mon frmMain qui ouvre une autre frmEdit qui a une datagridview qui affiche la requête suivante:Comment modifier des lignes dans DataGridView?

BindingSource bs = new BindingSource(); 
string sqlqry = "select p_Name from Items where p_Id=" + p_Id; 

SqlCeCommand cmd = new SqlCeCommand(sqlqry1, conn); 
SqlCeDataReader rdr = cmd.ExecuteReader(); 
bs.DataSource = rdr; 
dataGridView1.DataSource = bs; 
this.ShowDialog(parent); 

Lorsque les charges frmEdit les DataGridView affiche la requête très bien, mais je ne peux pas Editez . J'ai essayé dgv.BeginEdit(true), mais cela ne fonctionne pas. Le EditMode fonctionne correctement si j'ai utilisé l'assistant pour lier les sources de données au dgv, mais j'ai besoin d'exécuter mes propres requêtes personnalisées et de pouvoir les mettre à jour directement.

+0

Ces liens ne sont pas liés à ma question, merci quand même. – DanSogaard

Répondre

0

Vous avez besoin d'une source de données bidirectionnelle. Je pense que vous pouvez utiliser SqlCeResultSet au lieu d'un SqlCeDataReader.

+0

Cela n'active pas le mode édition non plus. – DanSogaard

+0

Eh bien, vous devez au moins retourner le PK je suppose. – leppie

+0

Je ne pense pas que je vous comprenne entièrement ici, voulez-vous dire que je devrais aussi choisir le p_Name avec p_Id? J'ai essayé ça aussi. – DanSogaard

Questions connexes