Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Leggere una Dropdownlist per INSERT
mercoledì 24 settembre 2003 - 16.13
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
mer 24 set 2003 - 16:13
Errore di compilazione
Descrizione: Errore durante la compilazione di una risorsa necessaria per soddisfare la richiesta. Rivedere i dettagli relativi all'errore e modificare in modo appropriato il codice sorgente.
Messaggio di errore del compilatore: BC30456: 'selecteditem' non è un membro di 'System.Data.DataSet'.
Errore nel codice sorgente:
Riga 247: cmdInsert = New SqlCommand( strInsert, conn )
Riga 248: 'Lettura delle DDL
Riga 249: IDTelefono=ddlCell.selecteditem.value
Riga 250: cmdInsert.Parameters.Add( "@cellulare", IDTelefono)
Riga 251:
Sto facendo un insert all'interno di un DB,
il tutto attraverso un datagrid in cui in fondo aggiungo
un record "nuovo" composto da 2 dropdownlist (caricano i dati dinamici da db)
attraverso un dataset come faccio a leggere le DDL? NONcon il selectitem... ma con??
grazie!!!!
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
mer 24 set 2003 - 16:45
Ciao Coach!
ti ringrazio!
ecco quanto:
Dim ddlAppCell As DropDownlist
ddlAppCell = DataGrid1.findcontrol("ddlCell")
>>>>ma ddlCell è l'id della mia DDL
ma nell'insert??
strInsert="INSERT INTO Reperibilita([ID_Telefono]) values ( '" & ddlAppCell & "');"
mi da l'errore seguente:
BC30452: L'operatore '&' non è definito per i tipi 'String' e 'System.Web.UI.WebControls.DropDownList'.
gRAZIE ANCORA!!!!!!
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
mer 24 set 2003 - 17:00
mi da il seguente errore...
Dettagli eccezione: System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.
Errore nel codice sorgente:
Riga 260: '" where ID_Grep = @ID_Grep "
Riga 261:
Riga 262: strInsert="INSERT INTO Reperibilita([Giorno],[ID_Gruppo],[ID_Telefono]) values ( '" & calendar1.selecteddate.tostring("dd/MM/yyyy") & "', '" & sID_Gruppo & "', '" & ddlAppCell.selecteditem.text & "');"
Riga 263:
Riga 264: 'response.write (strInsert)
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
mer 24 set 2003 - 17:10
la DDL è la seguente
<asp:DropDownList runat="server" id="lstCellInsert"
DataValueField="ID_Telefono" DataTextField="CellReperibile"
DataSource='<%# GetCell() %>' />
grazie Coach
ciao Nicola
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
mer 24 set 2003 - 17:23
la DDL lo cambiata in lstCellInsert,
ho provato anche con il ciclo For ma il risultato è sempre lo stesso:
riferimento a un oggetto non impostato su un istanza di oggetto!
mi sai dire qualcosa???
grazieee!
nicola
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
gio 25 set 2003 - 10:49
Non hai piu' niente da consigliarmi!!!
le ho provate tutte!!!
grazie per l'aiuto
ciao Nicola
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
gio 25 set 2003 - 11:13
code:
Sub dgRep_Insert(sender as Object, e As DataGridCommandEventArgs)
If e.CommandName = "Insert" then
Dim strInsert As String
Dim cmdInsert As SqlCommand
'+++++++++++++Controllo DDL++++++++++++++++++++++++
Dim ddlAppCell As DropDownlist
ddlAppCell = DataGrid1.findcontrol("lstCellInsert")
'Ho provato anche il ciclo sulla collection, ma il risultato di errore è uguale identico
'Dim x As Integer
'For x = 0 to DataGrid1.items.count -1
'ddlAppCell = Datagrid1.items(x).FindControl("lstCellInsert")
'+++++++++++++Controllo DDL++++++++++++++++++++++++
strInsert="INSERT INTO Reperibilita([ID_Telefono]) values ( '" & ddlAppCell.selecteditem.value & "');"
'response.write (strInsert)
cmdInsert = New SqlCommand( strInsert, conn )
conn.Open()
cmdINsert.ExecuteNonQuery()
conn.Close()
Response.Write("<b>Insert Ok</b>")
Calendar1_SelectionChanged(sender,e)
End If
'Next
End If
End Sub
html:
<asp:TemplateColumn HeaderText="<b> N° Telefono Cellulare">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Cell") %>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList runat="server" id="lstCell"
DataValueField="ID_Telefono" DataTextField="CellReperibile"
DataSource='<%# GetCell() %>'
SelectedIndex='<%# GetSelectedCell(Container.DataItem("ID_Telefono")) %>' />
</EditItemTemplate>
<FooterTemplate>
<asp:DropDownList runat="server" id="lstCellInsert"
DataValueField="ID_Telefono" DataTextField="CellReperibile"
DataSource='<%# GetCell() %>' />
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<FooterTemplate>
<asp:Button CommandName="Insert" Text="Insert" runat="server" />
</FooterTemplate>
</asp:TemplateColumn>
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
gio 25 set 2003 - 11:33
ok! provo questa soluzione! prima?? che codice??
a dopo...
grazie
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
gio 25 set 2003 - 12:13
ho fatto in questo modo all'interno della Sub dgRep_Insert:
Dim ddlAppCell As DropDownlist
ddlAppCell = DataGrid1.items(DataGrid1.EditItemIndex).FindControl("lstCellInsert")
errore:
Errore server nell'applicazione '/'.
--------------------------------------------------------------------------------
Index non compreso nell'intervallo. Richiesto valore non negativo e minore della dimensione dell'insieme. Nome parametro: index
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.
Dettagli eccezione: System.ArgumentOutOfRangeException: Index non compreso nell'intervallo. Richiesto valore non negativo e minore della dimensione dell'insieme. Nome parametro: index
Errore nel codice sorgente:
Riga 232: '+++++++++++++Controllo DDL++++++++++++++++++++++++
Riga 233: Dim ddlAppCell As DropDownlist
Riga 234: ddlAppCell = DataGrid1.items(DataGrid1.EditItemIndex).FindControl("lstCellInsert")
Riga 235:
Riga 236: 'ddlAppCell = DataGrid1.findcontrol("lstCellInsert")
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
gio 25 set 2003 - 12:22
ma l'evento edit non centra con l'insert,
edit mi mette in modalità il datagrid con le DDL per poter fare l'update del record,
PER L'INSERT invece ho l'ultimo record sempre in vista con le DDL caricate:
'++++++++++++++++++++++++++++++++++++++++++++++++++
'DDL Numero Cellulare
Function GetCell() as DataSet
Dim strDDLCell as string
strDDLCell="SELECT ID_Telefono, Numero+ ' - ' + Descrizione AS CellReperibile FROM Telefoni ORDER BY Descrizione;"
Dim myDataAdapter as SqlDataAdapter = New _
SqlDataAdapter(strDDLCell, conn)
myDataAdapter.Fill(ddlCell, "CellRep")
Return ddlCell
End Function
Function GetSelectedCell(CID as String) as Integer
Dim iLoop as Integer
Dim dt as DataTable = ddlCell.Tables("CellRep")
For iLoop = 0 to dt.Rows.Count - 1
If Int32.Parse(CID) = Int32.Parse(dt.Rows(iLoop)("ID_Telefono")) then
Return iLoop
End If
Next iLoop
End Function
'++++++++++++++++++++++++++++++++++++++++++++++++
e poi con il bottone
<asp:Button CommandName="Insert" Text="Insert" runat="server" />
effettuo l'insert nel db
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
gio 25 set 2003 - 12:29
ok! scusa se t faccio arrabbiare! ti tengo ancora aggiornato?
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
gio 25 set 2003 - 12:40
Ciao... no..., la DDL per l'INSERT non sta nell' EditItemTemplate, come vedi dal code del messaggio inviato in precedenza, la DDL con id=lstCellInsert sta in un <FooterTemplate>; è la DDL che mi serve per l'update id=lstCell che sta nell' EditItemTemplate....
sono disperato....
grazie coach
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
gio 25 set 2003 - 15:05
Ho provato anche con i parametri... identico risultato!
Sub dgRep_Insert(sender as Object, e As DataGridCommandEventArgs)
If e.CommandName = "Insert" then
Dim strInsert As String
Dim cmdInsert As SqlCommand
'+++++++++++++Controllo DDL++++++++++++++++++++++++
Dim ddlAppCell As DropDownlist
Dim idcell As String
ddlAppCell = DataGrid1.FindControl("lstCellInsert")
'+++++++++++++Controllo DDL++++++++++++++++++++++++
strInsert="INSERT INTO Reperibilita([ID_Telefono]) values(@ID_Cellulare);"
'response.write (strInsert)
cmdInsert = New SqlCommand( strInsert, conn )
idcell=ddlAppCell.selecteditem.value
cmdInsert.Parameters.Add( "@ID_Cellulare", idcell)
conn.Open()
cmdINsert.ExecuteNonQuery()
conn.Close()
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
gio 25 set 2003 - 15:49
Fatto!!!
cavoli che sudata!!!!ù
si faceva cosi'......
Dim ddlAppCell As DropDownList = e.Item.FindControl("lstCellInsert")
grazie Coach!!!!
Nicola
Profilo
| Senior Member
362
messaggi | Data Invio:
gio 25 set 2003 - 16:19
Scusa!
adesso ho tre check box ne dg:
'controllo voce sempre a 1
dim voce as integer = 1
dim sms as integer = 0
dim email as integer = 0
if cboxvoce.checked then
voce=1
end if
if cboxsms.checked then
sms=1
end if
if cboxemail.checked then
email=1
end if
strInsert="INSERT INTO Reperibilita([Voce]) values ( '" & voce & "');"
id della check box è cboxvoce
mi dice che non è dichiarata.......
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !