[C#] Remplir un datagrid en dble clic sur un autre datagrid
Bonjour,
voila mon ptit problemes c'est que j'ai un datagrid avec des donnée affiché d'une base. en cliquant sur une des lignes je vourrais recopier cette ligne dans l'autre datagrid afin de les sauvegardes .
j'ai donc fait mon code, mais il me mets l'erreur suivante :
" la référence objet n'est pas définie à une instance objet " .
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
namespace WindowsApplication11
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
DataSet ds_articles;
DataSet ds_a_sauvegarder;
public string sqlcon = @"Server=ACERFERRARI\SQLExpress; Integrated Security=SSPI; Connection Timeout=10; Database=DEVIS;User ID=ACERFERRARI\Ced;password=";
private void Form1_Load(object sender, EventArgs e)
{
try // try sert a detecter les erreur ( avec catch )
{
ds_articles = new DataSet();
SqlDataAdapter adaptater = new SqlDataAdapter("SELECT * FROM articles WHERE (famille_art = N'Cartes Mères')", sqlcon);
adaptater.Fill(ds_articles, "articles");
dataGridView1.DataSource = ds_articles.Tables[0];
}
catch (System.Data.SqlClient.SqlException ex)
{
MessageBox.Show(ex.Message, "Erreur SQL");
}
}
private void gridView1_DoubleClick(object sender, EventArgs e)
{
// si la grille affichage contient des lignes
if (gridView_affiche.RowCount > 0)
{
// Ajoute une ligne vide
gridView_a_sauvegarder.AddNewRow();
// Rempli les valeurs pour les differentes colonnes
gridView_a_sauvegarder.SetRowCellValue(gridView_a_sauvegarder.FocusedRowHandle, gridView_a_sauvegarder.Columns["Column_famille_art"], gridView_affiche.GetRowCellValue(gridView_affiche.FocusedRowHandle, gridView_affiche.Columns["famille_art"]).ToString());
gridView_a_sauvegarder.SetRowCellValue(gridView_a_sauvegarder.FocusedRowHandle, gridView_a_sauvegarder.Columns["Column_desig_art"], gridView_affiche.GetRowCellValue(gridView_affiche.FocusedRowHandle, gridView_affiche.Columns["desig_art"]).ToString());
gridView_a_sauvegarder.SetRowCellValue(gridView_a_sauvegarder.FocusedRowHandle, gridView_a_sauvegarder.Columns["Column_marque_art"], gridView_affiche.GetRowCellValue(gridView_affiche.FocusedRowHandle, gridView_affiche.Columns["marque_art"]).ToString());
// Termine la maj de la ligne
gridView_a_sauvegarder.UpdateCurrentRow();
}
}
private void dataGridView2_Click(object sender, EventArgs e)
{
}
}
} |