nostromo ha scritto:
non saranno il massimo delle performace (dome ho anche detto) ma sono davvero l'ultimo dei problemi, considerando inltre tutto il lavoro che devi fare per ricreare ad OgniPostBack la struttura dei controlli ecc ecc, alla fine aggiungendo attributi o altro appesantisci la pagina(in minima parte) come farebbe il DataGrid.

poi qualsiasi soluzione risolva il problema è più che ben accetta

ciao marco

voto nostromo

Ormai programmano tutti... ma la professionalità appartiene a pochi
Non volevo creare una discussione, comunque proverò entrambe le soluzioni, grazie a tutti e due, io devo gestire circa 1000 utenti.

www.webrimini.com
Ho fatto qualcosa del genere: ma chiaramente non funziona

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim x As Integer
        Dim TextBox1 = New TextBox()
        
        Response.Write("<table id='max' border=3>")
        For x = 1 To 5
            Response.Write("<tr>")
            Response.Write("<td>")
            TextBox1.Attributes.Add("Giorni" & Str(x), x)
            'form1.Controls.Add(TextBox1)
            Response.Write("<asp:TextBox ID='" & "Giorni" & Str(x) & "' runat='server'></asp:TextBox>")
            Response.Write("</td>")
            Response.Write("</tr>")
        Next
        Response.Write("</table>")
    End Sub

www.webrimini.com
scusa massimo, ma perche non provi a utilizzare il DataGrid?, quello che tenti di fare, semplicemente non può essere fatto, non puoi fare il Response.Write di asp:TextBox , semplicemente perche nessuno lo interpreterà, quella fase è già passata.

ciao marco
Modificato da nostromo il 13 ottobre 2008 09.13 -

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
Si, infatti sto tentando la via del DataGrid, ho fatto quanto sotto, mi dai ora la dritta per continuare?

<%@ Page Language="VB" %>
<%@ Import NameSpace="System.Data" %>
<%@ Import NameSpace="System.Data.OleDb" %>
<%@ Import Namespace="System.IO" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Dim cn As OleDbConnection
    Dim cmd As OleDbCommand
    Dim dap As OleDbDataAdapter
    Dim dst As DataSet
    Dim dbc As New OleDbCommand
    Dim x As Integer, sql As String
    
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("fpdb/Dati.mdb") & ";Jet OLEDB:Database Password=xxx")
        cn.Open()
                
       
        If Not IsPostBack Then
            Session("IDGruppo") = 7
            dst = New DataSet
            dap = New OleDbDataAdapter("SELECT IDAnagrafica,NominativoGrado FROM QueryAnagrafica WHERE PersoForza=false AND IDGruppo=" & Session("IDGruppo") & " ORDER BY IDStatoGiuridico,IDGrado, Cognome, Nome", cn)
            dap.Fill(dst, "Anagrafica")
            ' e poi passiamo gli stessi al datagrid e facciamo il databind
            dl.AutoGenerateColumns = True
            dl.DataSource = dst.Tables("Anagrafica")
            dl.DataBind()
            'dl.Columns.Add()
        End If
     
    End Sub

    Private Sub dl_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dl.EditCommand
        dl.EditItemIndex = e.Item.ItemIndex
        dl.DataSource = dst.Tables("Anagrafica")
        dl.DataBind()
        dl.SelectedIndex = e.Item.ItemIndex
    End Sub
  
</script>


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    
    
    <asp:datagrid ID="dl" runat="server" height="50px" 
                  width="125px" AutoGenerateColumns = False  ></asp:datagrid>
    
    </form>
</body>
</html>

www.webrimini.com
imposta la propriertà FieldKey (o come si chiama è un pezzetto non uso il DataGrid).

un altra cosa puoi evitare di scrivere nel codice

dl.AutoGenerateColumns = True

lo puoi fare direttamente da markup:

<asp:datagrid ID="dl" runat="server" height="50px"
width="125px" AutoGenerateColumns = "True"></asp:datagrid>

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
Ecco qua:

<%@ Page Language="VB" %>
<%@ Import NameSpace="System.Data" %>
<%@ Import NameSpace="System.Data.OleDb" %>
<%@ Import Namespace="System.IO" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Dim cn As OleDbConnection
    Dim cmd As OleDbCommand
    Dim dap As OleDbDataAdapter
    Dim dst As DataSet
    Dim dbc As New OleDbCommand
    Dim x As Integer, sql As String
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("fpdb/Dati.mdb") & ";Jet OLEDB:Database Password=xxx")
        cn.Open()
                
        If Not IsPostBack Then
            Session("IDGruppo") = 7
            dst = New DataSet
            dap = New OleDbDataAdapter("SELECT IDAnagrafica,NominativoGrado FROM QueryAnagrafica WHERE PersoForza=false AND IDGruppo=" & Session("IDGruppo") & " ORDER BY IDStatoGiuridico,IDGrado, Cognome, Nome", cn)
            dap.Fill(dst, "Anagrafica")
            
            dl.DataSource = dst.Tables("Anagrafica")
            dl.DataKeyField = "IDAnagrafica"
            dl.DataBind()
            
        End If
     
    End Sub

    Private Sub dl_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dl.EditCommand
        dl.EditItemIndex = e.Item.ItemIndex
        dl.DataSource = dst.Tables("Anagrafica")
        dl.DataBind()
        dl.SelectedIndex = e.Item.ItemIndex
    End Sub

</script>


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    
    <asp:datagrid ID="dl" runat="server" height="50px" 
                  width="125px" AutoGenerateColumns = "true"  ></asp:datagrid>
    </form>
</body>
</html>

www.webrimini.com
immagino che il valore che vuoi recuperare sia IDAnagrafica?

quindi devi fare


<asp:datagrid ID="dl" runat="server" height="50px" width="125px" AutoGenerateColumns = "true" DatKeysNames="IDAnagrafica"></asp:datagrid>

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.