Bonjour,
je me permets de vous écrire parce que je suis bloqué dans mon code.
Je suis obligé de d'avoir un dataset au format .csv (pas sql...).
avec un Datagriview, j'affiche les valeurs de mon csv.
Quand je clique sur une cellule de mon datagridview, j'aimerai que mes variables du document se mettent à jour. J'y arrive, seulement, certaines fois, ces variables se mettent à jour et d'autres fois non (c'est aléatoire)
Je vous mets des parties de mon code
Mise en forme de mon datagridview
private void LoadBooks()
{
string delimiter = ";";
string tableName = "BooksTable";
string fileName = ("C:\\Documents\\Projet Etiquettes\\Produits2.csv");
DataSet dataset = new DataSet();
StreamReader sr = new StreamReader(fileName);
dataset.Tables.Add(tableName);
dataset.Tables[tableName].Columns.Add("CODE");
dataset.Tables[tableName].Columns.Add("CODE LONG");
dataset.Tables[tableName].Columns.Add("DESIGNATION");
dataset.Tables[tableName].Columns.Add("POIDS");
dataset.Tables[tableName].Columns.Add("conditio pal");
dataset.Tables[tableName].Columns.Add("conditio fard");
dataset.Tables[tableName].Columns.Add("conditio cols");
dataset.Tables[tableName].Columns.Add("contenance U3");
dataset.Tables[tableName].Columns.Add("EAN");
dataset.Tables[tableName].Columns.Add("DLUO");
dataset.Tables[tableName].Columns.Add("Type Pal");
dataset.Tables[tableName].Columns.Add("Gerbage");
string allData = sr.ReadToEnd();
string[] rows = allData.Split("\n\r".ToCharArray());
foreach (string r in rows)
{
string[] items = r.Split(delimiter.ToCharArray());
dataset.Tables[tableName].Rows.Add(items);
}
this.dataGridView1.DataSource = dataset.Tables[tableName].DefaultView;
}
Remplissage de ma datagridview
private void dataGridView1_RowContentClick(object sender, DataGridViewCellEventArgs e)
{
Document doc = NetApp.ActiveDocument;
if (doc != null)
{
foreach (Variable aVariable in doc.Variables)
{
if (aVariable.Name.Equals("CODE"))
aVariable.Value = dataGridView1.CurrentRow.Cells[0].Value.ToString();
else if (aVariable.Name.Equals("CODE LONG"))
aVariable.Value = dataGridView1.CurrentRow.Cells[1].Value.ToString();
else if (aVariable.Name.Equals("DESIGNATION"))
aVariable.Value = dataGridView1.CurrentRow.Cells[2].Value.ToString();
else if (aVariable.Name.Equals("POIDS"))
aVariable.Value = dataGridView1.CurrentRow.Cells[3].Value.ToString();
else if (aVariable.Name.Equals("conditio pal"))
aVariable.Value = dataGridView1.CurrentRow.Cells[4].Value.ToString();
else if (aVariable.Name.Equals("conditio fard"))
aVariable.Value = dataGridView1.CurrentRow.Cells[5].Value.ToString();
else if (aVariable.Name.Equals("conditio cols"))
aVariable.Value = dataGridView1.CurrentRow.Cells[6].Value.ToString();
else if (aVariable.Name.Equals("contenance U3"))
aVariable.Value = dataGridView1.CurrentRow.Cells[7].Value.ToString();
else if (aVariable.Name.Equals("EAN"))
aVariable.Value = dataGridView1.CurrentRow.Cells[8].Value.ToString();
else if (aVariable.Name.Equals("DLUO"))
aVariable.Value = dataGridView1.CurrentRow.Cells[9].Value.ToString();
else if (aVariable.Name.Equals("Type Pal"))
aVariable.Value = dataGridView1.CurrentRow.Cells[10].Value.ToString();
else if (aVariable.Name.Equals("Gerbage"))
aVariable.Value = dataGridView1.CurrentRow.Cells[11].Value.ToString();
}
UpdateLabelPreview();
}
}
Prévisualisation de mon fichier
private void UpdateLabelPreview()
{
Document doc = NetApp.ActiveDocument;
if (doc != null)
{
doc.CopyToClipboard(false, ReductionAlgorithm.None, BitsPerPixel.Bits24, 0, 100);
pbLabelPreview.Image = (Image)(Clipboard.GetDataObject().GetData(System.Windows.Forms.DataFormats.Bitmap, true));
}
else
pbLabelPreview.Image = null;
}
Soyez indulgent svp, c'est la première fois que je poste
Merci d'avance pour votre aide
Afficher la suite