Ciao BrightSoul, grazie mille... infatti ora funziona meglio, ma... c'è un ma, ti spiego: Nell'evento RowCommand devo prendere il valore selezionato dalla drop per salvarlo nel db, nel tuo metodo c'era un piccolo errore, nel senso che ListItem.Add accetta 2 parametri di tipo string, quindi ho aggiunto un ToString() alla fine della riga, cosi:
ddlArticolo.Items.Add(new ListItem(articolo.Descrizione_Articolo, articolo.ID_Articolo<b>.ToString()</b>));
solo che ora quando vado in debug ottengo un errore poiche il db si aspetta un numero e non una stringa, questa la porzione di codice che effettua l'insert (nel metodo RowCommand):
if (e.CommandName == "InsertNew")
{
GridViewRow row = GvReport.FooterRow;
DropDownList ddlArticolo = row.FindControl("DdlArticoloNuovo") as DropDownList; //ID Articolo
DateTime DataCaricamento = DateTime.Now; // Data Caricamento
FileUpload file = row.FindControl("NuovoFileReport") as FileUpload; // PDF Report
FileUpload fileCmp = row.FindControl("upCMP") as FileUpload; // PDF CMP
TextBox Note = row.FindControl("txtNuovoNote") as TextBox; //Note
TextBox nLotto = row.FindControl("txtNlotto") as TextBox; //Num lotto
TextBox nCMP = row.FindControl("txtCMP") as TextBox; //Num CMP
if (ddlArticolo != null && DataCaricamento != null && file != null && Note != null && fileCmp != null && nLotto != null && nCMP != null)
{
try
{
//Aggiungo il nuovo Gruppo
tbl_Report report = null;
report = new tbl_Report
{
DataCaricamento_Report = DataCaricamento,
Allegato_Report = file.FileBytes,
Note_Report = Note.Text,
ID_Articolo = Convert.ToInt32(ddlArticolo.SelectedValue),
Cmp = fileCmp.FileBytes,
Lotto = nLotto.Text,
NumCmp = nCMP.Text
};
var aggiungiReport = BusinessClass.CreaReport(report);
lblMsg.Visible = true;
lblMsg.Text = "Nuovo Report Salvato correttamente.";
//NomeGruppo.Text = "";
GvReport.DataSource = BusinessClass.selexReport();
GvReport.DataBind();
}
catch (Exception ex)
{
lblErrore.Visible = true;
lblErrore.Text = "Attenzione, Errore: " + ex.ToString();
}
}
GvReport.DataSource = BusinessClass.selexReport();
GvReport.DataBind();
}
A vista d'occhio sembrerebbe che il codice sia corretto (prima effettuo una conversione a stringa per poplare la drop, dopo lo riconverto in numero per fare il salvataggio) ma purtroppo c'è qualcosa che non va...
Grazie ancora...
Modificato da ricardo78 il 17 giugno 2013 08.02 -
Modificato da ricardo78 il 17 giugno 2013 08.03 -