+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [ASP.NET] DetailsView e query

  1. #1
    iltheo non è in linea Scolaretto
    Luogo
    Milano
    Post
    61

    [ASP.NET] DetailsView e query

    Ciao a tutti.
    Probabilemente per voi sarà banale, ma io ho un problema che non riesco a risolvere.
    Ho una pagina aspx contenente una DetailsView. In base ad un parametro passato alla pagina, sull'onLOad vengono caricati dei Button (da 1 a 4). Cliccando su uno dei Button caricati deve apparirmi una DetailsView contenente le informazioni contenute nel mio database (ah dimenticavo, il db è SQL). La query deve certificare che nella tabella contenente i dati siano presenti ed in AND due valri, che vengono passati alla procedura.

    Peccato che la DetailsView viene evidenziata vuota... o meglio, appare una sola riga bianca...

    Questo è il codice aspx della mia pagina Web:
    codice:
    
    <tableborder="0"cellpadding="1"cellspacing="1"width="500"align="center"id="TABLE2"language="javascript"onclick="return TABLE1_onclick()">
    <tr>
    <tdwidth="500"align="left">
    Congelamenti associati al cliente&nbsp;<b><asp:LabelID="Label1"runat="server"Text="Label"></asp:Label></b><br/>
    <asp:ButtonID="Button1"runat="server"Font-Bold="true"onClick="Button1_Click1"Width="125"/>
    &nbsp;<asp:ButtonID="Button2"runat="server"Font-Bold="true"onClick="Button2_Click1"Width="125"/>&nbsp;<asp:ButtonID="Button3"runat="server"Font-Bold="true"onClick="Button3_Click1"Width="125"/>&nbsp;<asp:ButtonID="Button4"runat="server"Font-Bold="true"onClick="Button4_Click1"Width="125"/></td>
    </tr>
    </table>
    <br>
    <tableborder="2"bordercolor="#0073de"cellpadding="1"cellspacing="1"width="490"align="center"id="TABLE4"language="javascript"onclick="return TABLE1_onclick()">
    <tr>
    <tdwidth="490"align="left">
    <asp:DetailsViewID="DetailsView1"runat="server"AutoGenerateRows="False"CellPadding="4"
    DataSourceID="SqlDataSource1"ForeColor="#333333"GridLines="None"Height="50px"
    Width="475px">
    <FooterStyleBackColor="#1C5E55"Font-Bold="True"ForeColor="White"/>
    <CommandRowStyleBackColor="#C5BBAF"Font-Bold="True"/>
    <EditRowStyleBackColor="#7C6F57"/>
    <RowStyleBackColor="#E3EAEB"/>
    <PagerStyleBackColor="#666666"ForeColor="White"HorizontalAlign="Center"/>
    <Fields>
    <asp:BoundFieldDataField="REL_LABEL"HeaderText="REL_LABEL"SortExpression="REL_LABEL"/>
    <asp:BoundFieldDataField="REL_FORN"HeaderText="REL_FORN"SortExpression="REL_FORN"/>
    <asp:BoundFieldDataField="REL_ARCHITETTURA"HeaderText="REL_ARCHITETTURA"SortExpression="REL_ARCHITETTURA"/>
    <asp:BoundFieldDataField="REL_RELEASE"HeaderText="REL_RELEASE"SortExpression="REL_RELEASE"/>
    <asp:BoundFieldDataField="REL_DATARELEASE"HeaderText="REL_DATARELEASE"SortExpression="REL_DATARELEASE"/>
    <asp:BoundFieldDataField="REL_EXEMODULO"HeaderText="REL_EXEMODULO"SortExpression="REL_EXEMODULO"/>
    <asp:BoundFieldDataField="REL_DATAMODULO"HeaderText="REL_DATAMODULO"SortExpression="REL_DATAMODULO"/>
    <asp:BoundFieldDataField="REL_TOTAGGIUNTIVI"HeaderText="REL_TOTAGGIUNTIVI"SortExpression="REL_TOTAGGIUNTIVI"/>
    <asp:BoundFieldDataField="REL_DATAGGIUNTIVI"HeaderText="REL_DATAGGIUNTIVI"SortExpression="REL_DATAGGIUNTIVI"/>
    <asp:BoundFieldDataField="REL_PHS"HeaderText="REL_PHS"SortExpression="REL_PHS"/>
    <asp:BoundFieldDataField="REL_DATAPHS"HeaderText="REL_DATAPHS"SortExpression="REL_DATAPHS"/>
    <asp:BoundFieldDataField="REL_LBI"HeaderText="REL_LBI"SortExpression="REL_LBI"/>
    <asp:BoundFieldDataField="REL_DATALBI"HeaderText="REL_DATALBI"SortExpression="REL_DATALBI"/>
    <asp:BoundFieldDataField="REL_MSEM"HeaderText="REL_MSEM"SortExpression="REL_MSEM"/>
    <asp:BoundFieldDataField="REL_IUDB"HeaderText="REL_IUDB"SortExpression="REL_IUDB"/>
    <asp:BoundFieldDataField="REL_SBC"HeaderText="REL_SBC"SortExpression="REL_SBC"/>
    <asp:BoundFieldDataField="REL_SUBS1"HeaderText="REL_SUBS1"SortExpression="REL_SUBS1"/>
    <asp:BoundFieldDataField="REL_SUBS2"HeaderText="REL_SUBS2"SortExpression="REL_SUBS2"/>
    <asp:BoundFieldDataField="REL_SUBS3"HeaderText="REL_SUBS3"SortExpression="REL_SUBS3"/>
    <asp:BoundFieldDataField="REL_SUBS4"HeaderText="REL_SUBS4"SortExpression="REL_SUBS4"/>
    <asp:BoundFieldDataField="REL_SUBS5"HeaderText="REL_SUBS5"SortExpression="REL_SUBS5"/>
    <asp:BoundFieldDataField="REL_SUBS6"HeaderText="REL_SUBS6"SortExpression="REL_SUBS6"/>
    <asp:BoundFieldDataField="REL_SUBS7"HeaderText="REL_SUBS7"SortExpression="REL_SUBS7"/>
    <asp:BoundFieldDataField="REL_SORG1"HeaderText="REL_SORG1"SortExpression="REL_SORG1"/>
    <asp:BoundFieldDataField="REL_SORG2"HeaderText="REL_SORG2"SortExpression="REL_SORG2"/>
    <asp:BoundFieldDataField="REL_SORG3"HeaderText="REL_SORG3"SortExpression="REL_SORG3"/>
    <asp:BoundFieldDataField="REL_SORG4"HeaderText="REL_SORG4"SortExpression="REL_SORG4"/>
    <asp:BoundFieldDataField="REL_SORG5"HeaderText="REL_SORG5"SortExpression="REL_SORG5"/>
    <asp:BoundFieldDataField="REL_SORG6"HeaderText="REL_SORG6"SortExpression="REL_SORG6"/>
    <asp:BoundFieldDataField="REL_SORG7"HeaderText="REL_SORG7"SortExpression="REL_SORG7"/>
    <asp:BoundFieldDataField="REL_EXE1"HeaderText="REL_EXE1"SortExpression="REL_EXE1"/>
    <asp:BoundFieldDataField="REL_EXE2"HeaderText="REL_EXE2"SortExpression="REL_EXE2"/>
    <asp:BoundFieldDataField="REL_EXE3"HeaderText="REL_EXE3"SortExpression="REL_EXE3"/>
    <asp:BoundFieldDataField="REL_EXE4"HeaderText="REL_EXE4"SortExpression="REL_EXE4"/>
    <asp:BoundFieldDataField="REL_EXE5"HeaderText="REL_EXE5"SortExpression="REL_EXE5"/>
    <asp:BoundFieldDataField="REL_EXE6"HeaderText="REL_EXE6"SortExpression="REL_EXE6"/>
    <asp:BoundFieldDataField="REL_EXE7"HeaderText="REL_EXE7"SortExpression="REL_EXE7"/>
    <asp:BoundFieldDataField="REL_COMMERCIALE"HeaderText="REL_COMMERCIALE"SortExpression="REL_COMMERCIALE"/>
    <asp:BoundFieldDataField="REL_STATO"HeaderText="REL_STATO"SortExpression="REL_STATO"/>
    <asp:BoundFieldDataField="REL_CLIENTE"HeaderText="REL_CLIENTE"SortExpression="REL_CLIENTE"/>
    <asp:BoundFieldDataField="REL_NAZIONE"HeaderText="REL_NAZIONE"SortExpression="REL_NAZIONE"/>
    <asp:BoundFieldDataField="REL_ID"HeaderText="REL_ID"InsertVisible="False"ReadOnly="True"
    SortExpression="REL_ID"/>
    </Fields>
    <FieldHeaderStyleBackColor="#D0D0D0"Font-Bold="True"/>
    <HeaderStyleBackColor="#1C5E55"Font-Bold="True"ForeColor="White"/>
    <AlternatingRowStyleBackColor="White"/>
    </asp:DetailsView>
    <asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:patchConnectionString %>"
    SelectCommand="SELECT * FROM [release] WHERE (([REL_CLIENTE] = @REL_CLIENTE) AND ([REL_LABEL] = @REL_LABEL))">
    <SelectParameters>
    <asp:QueryStringParameterName="REL_CLIENTE"QueryStringField="Cliente"Type="String"/>
    <asp:QueryStringParameterName="REL_LABEL"QueryStringField="IDrelease"Type="String"/>
    </SelectParameters>
    </asp:SqlDataSource>
    </td>
    </tr>
    </table>
    
    Mentre questa è la pagina vb contenente il codice
    codice:
    
    Imports System.Windows.Forms
    Imports System.Data
    PartialClass clienti
    Inherits System.Web.UI.Page
    ProtectedSub LogoCliente_Load(ByVal sender AsObject, ByVal e As System.EventArgs)
    LogoCliente.ImageUrl = "./loghi/" & Context.Request.QueryString("Cliente") & ".png"
    Label1.Text = Context.Request.QueryString("Cliente")
    DetailsView1.Visible = False
    EndSub
    ProtectedSub DetailsView1_Load(ByVal sender AsObject, ByVal e As System.EventArgs) Handles DetailsView1.Load
    Dim nomeCliente AsNew GesPatchDb
    Dim esitoQuery As DataSet = nomeCliente.GetClient(Context.Request.QueryString("Cliente"))
    If (esitoQuery.Tables(0).Rows.Count) Then
    Dim dr As DataRow = esitoQuery.Tables(0).Rows(0)
    If (dr.Item("CLI_REL1").ToString <> "") Then
    Button1.Visible = True
    Button1.Text = dr.Item("CLI_REL1")
    Else
    Button1.Visible = False
    EndIf
    If (dr.Item("CLI_REL2").ToString <> "") Then
    Button2.Visible = True
    Button2.Text = dr.Item("CLI_REL2")
    Else
    Button2.Visible = False
    EndIf
    If (dr.Item("CLI_REL3").ToString <> "") Then
    Button3.Visible = True
    Button3.Text = dr.Item("CLI_REL3")
    Else
    Button3.Visible = False
    EndIf
    If (dr.Item("CLI_REL4").ToString <> "") Then
    Button4.Visible = True
    Button4.Text = dr.Item("CLI_REL4")
    Else
    Button4.Visible = False
    EndIf
    EndIf
    EndSub
    ProtectedSub releaseDetails(ByVal release AsString, ByVal cliente AsString)
    Session("IDrelease") = release 
    EndSub
    ProtectedSub Button1_Click1(ByVal sender AsObject, ByVal e As System.EventArgs)
    DetailsView1.Visible = True
    releaseDetails(sender.Text, Context.Request.QueryString("Cliente")) 
    EndSub
    ProtectedSub Button2_Click1(ByVal sender AsObject, ByVal e As System.EventArgs)
    DetailsView1.Visible = True
    releaseDetails(sender.Text, Context.Request.QueryString("Cliente"))
    EndSub
    ProtectedSub Button3_Click1(ByVal sender AsObject, ByVal e As System.EventArgs)
    DetailsView1.Visible = True
    releaseDetails(sender.Text, Context.Request.QueryString("Cliente"))
    EndSub
    ProtectedSub Button4_Click1(ByVal sender AsObject, ByVal e As System.EventArgs)
    DetailsView1.Visible = True
    releaseDetails(sender.Text, Context.Request.QueryString("Cliente"))
    EndSub
    EndClass
    
    Notate bene, la query "manuale" funziona correttamente, mentre utilizzando la pagina HTML non appare nulla. Ho provato a stampare i parasmetri che passo alla procedura per effettuare i controlli e sono corretti, ed anche il DetailsView1.Visible è impostato a True.

    Grazie a tutti coloro che mi daranno un suggerimento...
    Saluti a tutti
    iltheo

  2. #2
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Quote Originariamente inviato da iltheo Visualizza il messaggio
    ....
    Peccato che la DetailsView viene evidenziata vuota... o meglio, appare una sola riga bianca...
    ....
    Ciao iltheo,
    premesso che non ho completamente visto il tuo codice, ma da quel poco che ho letto mi sembra di capire che stai completamente sbagliando ad usare ilcontrollo.
    Il DetailsView non è una griglia come appunto il GridView, ma bensì permette di visualizzare/inserire/modificare/elimiare un record per volta.
    Quindi quando si effettua il bind ti compare una "griglia" con n righe quanti sono i field(sempre se è stata impostata la property AutoGenerateRows a false).
    Il consiglio che ti posso dare è quello di sostituire(sempre se la tua intenzione è quella di visualizzare tutti i record) il controllo DetailsView con uno più idoneo per esempio GridView.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi