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
Errori che ti lascino un po cosi..
venerdì 31 marzo 2006 - 11.15
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
wolfborg
Profilo
| Newbie
21
messaggi | Data Invio:
ven 31 mar 2006 - 11:15
non sono andato molto avanti dall'altra volta.ma sta volta ho provato a cimentarmi a passare l'id tramite un TemplateColumn.ho scritto tutto ma mi da un errore di sintassi da qualche parte...potete darci un occhiata?molto probabilmente è una cavolata delle mie ma non so quale..grazie 1000
<asp:TemplateColumn HeaderText="Quantity">
<ItemTemplate>
<asp:TextBox id=txtId runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "Id") %>'
Width="40px"
/>
</ItemTemplate>
</asp:TemplateColumn>
e poi nell'aspx.vb
Public _Id As String
Public Property Id() As String
Get
Return _Id
End Get
Set(ByVal Value As String)
_Id = Value
End Set
End Property
End Class
che ho fatto di male sta volta?
__________________________________________________
sono niubbo...che ci posso fare?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 31 mar 2006 - 14:05
ciao!
ti da un errore a runtime, o proprio quando scrivi/compili il codice?
e quale errore ti da?
Alx81 =)
wolfborg
Profilo
| Newbie
21
messaggi | Data Invio:
ven 31 mar 2006 - 15:09
quando compilo non mi da errore ma quando esegue mi da errore sul databind() specificando DataBinder.Eval: 'System.Data.DataRowView' non contiene una proprietà con nome uno.
e io sto uno non lo vedo da nessuna parte...se vti è + utile ti posto il codice intero sia del aspx xhe dell'aspx.vb
__________________________________________________
sono niubbo...che ci posso fare?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 31 mar 2006 - 15:40
passa il codice.. così non riesco ad aiutarti..
Alx81 =)
wolfborg
Profilo
| Newbie
21
messaggi | Data Invio:
ven 31 mar 2006 - 15:43
aspx:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" Inherits="riepilogo.WebForm2"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm2</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="
http://schemas.microsoft.com/intellisense/ie5"
name="vs_targetSchema">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<%--il panel è come un div. l'id è obligatorio e il runat=server indica che deve essere pocessato%>
<%--lato server e non lato client anche se tutti i tag asp.net vengono processati lato server--%>
<%--vedere la proptietà visible--%>
<asp:panel id="pnlgriglia" Runat="server"></asp:panel>
<%--secondo panel x il form di modifica--%>
<asp:panel id="pnlform" Runat="server" Visible="False">
<asp:TextBox id="txtdomanda" Runat="server"></asp:TextBox>
<asp:Button id="btnaggiorna" Runat="server" Text="modifica"></asp:Button>
<%--datagrid di visualizazione dei dati--%>
</asp:panel><asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" Visible="True" DataKeyField="uno" >
<Columns>
<asp:BoundColumn HeaderText="domanda" DataField="domanda"></asp:BoundColumn>
<asp:ButtonColumn Text="modifica" ButtonType="LinkButton" CommandName="k"></asp:ButtonColumn>
<asp:TemplateColumn HeaderText="Quantity">
<ItemTemplate>
<asp:TextBox id=txtId runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Id") %>'/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
<%--panel non utilizzato a causa dei bottoni che non funzionano..--%>
<asp:datagrid id="DataGrid2" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundColumn HeaderText="domanda" DataField="domanda"></asp:BoundColumn>
<asp:ButtonColumn HeaderText="Modifica" Text="MODIFICA" ButtonType="PushButton" CommandName="modifica"></asp:ButtonColumn>
</Columns>
</asp:datagrid></form>
</body>
</HTML>
aspx.bv
Imports System.Data.OleDb
Public Class WebForm2
Inherits System.Web.UI.Page
#Region " Codice generato da Progettazione Web Form "
'Chiamata richiesta da Progettazione Web Form.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Protected WithEvents DataGrid2 As System.Web.UI.WebControls.DataGrid
Protected WithEvents pnlgriglia As System.Web.UI.WebControls.Panel
Protected WithEvents pnlform As System.Web.UI.WebControls.Panel
Protected WithEvents txtdomanda As System.Web.UI.WebControls.TextBox
Protected WithEvents btnmodifica As System.Web.UI.WebControls.Button
Protected WithEvents btnaggiorna As System.Web.UI.WebControls.Button
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
'NOTA: la seguente dichiarazione è richiesta da Progettazione Web Form.
'Non spostarla o rimuoverla.
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: questa chiamata al metodo è richiesta da Progettazione Web Form.
'Non modificarla nell'editor del codice.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call leggirisposte1()
End Sub
Public Function leggirisposte1() As DataTable
'creo la connessione
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\riepilogo\db\questionario.mdb;")
'apro la connessione
conn.Open()
'creo il dataadapter x supporto al dataset
Dim oda As New OleDbDataAdapter("SELECT * FROM Risposte", conn)
'creo il dataset
Dim DS As New DataSet
'riempio il dataadapter
oda.Fill(DS, "Risposte")
'creo il visualizzatore
Dim objDataView As New DataView(DS.Tables("Risposte"))
'dichiaro come fonte x la griglia il visualizzatore
DataGrid1.DataSource = objDataView
'DS.Tables("Risposte").DefaultView
'esguo cosi visualizza fino alla fine
DataGrid1.DataBind()
conn.Close()
conn = Nothing
End Function
'evento associato a qualsiasi clik sul datagrid
Private Sub DataGrid2_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid2.ItemCommand
'cambia al visibilità
If e.CommandName = "modifica" Then
pnlform.Visible = True
DataGrid2.Visible = False
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
Dim temp As TextBox = DirectCast(e.Item.FindControl("txtId"), TextBox)
End If
End If
End Sub
'quando si preme il pulsante aggiorna
Private Sub btnaggiorna_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnaggiorna.Click
'creo al connessione
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\riepilogo\db\questionario.mdb;")
'la apro
conn.Open()
'faccio l'update prendendo i dati dal form(l'id è ancora fisso xchè non so dove prenderlo
Dim cmd As New OleDbCommand
Dim da As New OleDbDataAdapter
da.UpdateCommand = cmd
da.UpdateCommand.CommandText = "UPDATE Risposte SET domanda =" & Request.Form("txtdomanda") & " WHERE idrisposta='90'"
' Dim sqlstrmod As String = "UPDATE Risposte SET domanda =" & Request.Form("txtdomanda") & " WHERE idrisposta=90"
'Dim cmd As New OleDbCommand(sqlstrmod, conn)
da.UpdateCommand.Connection = conn
da.UpdateCommand.ExecuteNonQuery()
'cmd.ExecuteNonQuery()
'Response.Write(sqlstrmod)
'Response.Write(Request.Form("txtdomanda"))
'Response.End()
'cambio le visibilità
pnlform.Visible = False
DataGrid1.Visible = True
conn.Close()
conn = Nothing
End Sub
'il datagrid 1 non si utilizza a causa dei bottoni
Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
If e.CommandName = "k" Then
pnlform.Visible = True
DataGrid1.Visible = False
End If
End Sub
End Class
'creo una seconda classe
Public Class risposta1
'proprietà dell'oggeto risposta
Private _domanda As String
'assegnazione delle caratteistiche della propietà
Public Property domanda() As String
'proprietà usata quando il codice viene eseguito
Get
'allora il testo verrà visualizzato maiuscolo(toupper)
Return _domanda.ToUpper()
End Get
'propietà di quando il codice viene assegnato
Set(ByVal Value As String)
_domanda = Value
End Set
End Property
Private _rispost As String
Public Property rispost() As String
Get
Return _rispost
End Get
Set(ByVal Value As String)
_rispost = Value
End Set
End Property
Public _Id As String
Public Property Id() As String
Get
Return _Id
End Get
Set(ByVal Value As String)
_Id = Value
End Set
End Property
End Class
ecco tutto
__________________________________________________
sono niubbo...che ci posso fare?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 31 mar 2006 - 15:50
l'evento che scatena l'errore è la load?
o il click sull'elemento?
Alx81 =)
wolfborg
Profilo
| Newbie
21
messaggi | Data Invio:
ven 31 mar 2006 - 15:56
il load..
__________________________________________________
sono niubbo...che ci posso fare?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 31 mar 2006 - 16:11
ad occhio non vedo nulla di che.. oggi lo porto a casa e lo provo.. poi ti so dire.. scusa se non riesco subito.. ma a lavoro non ho asp.net..
sono sui SSIS da un po' =)))
Alx81 =)
wolfborg
Profilo
| Newbie
21
messaggi | Data Invio:
ven 31 mar 2006 - 16:16
ok attendo tue notizie...grazie 1000
__________________________________________________
sono niubbo...che ci posso fare?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 3 apr 2006 - 18:52
trovato..
hai impostato la proprietà datakeyfield del datagrid a "uno".
In quella proprietà devi impostare il campo che sarà la chiave da considerare nel datagrid..
siccome "uno" non è un campo del datasource che ricavi (da "select * fom risposte") ti dà errore..
usa un campo valido ed è fatta..
deduco che esista un cmpo idrisposta, se è l'id univoco della tabella usa questo..
fammi sapere..
ora sono in aeroporto e sto partendo per l'irlanda..
cmq, io torno fra una settimana.. quindi scusa se non rispondo per un po'
Alx81 =)
wolfborg
Profilo
| Newbie
21
messaggi | Data Invio:
mer 5 apr 2006 - 11:58
ok...errore risolto..quando torni se hai tempo di sicuro fabbricherò altre miriadi di errori..grazie 1000
__________________________________________________
sono niubbo...che ci posso fare?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 11 apr 2006 - 09:16
rieccomi =)
Alx81 =)
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 !