Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    17

    Gridiview , Pulsanti agganciati a colonna dati

    Chiedo scusa se posto anche qui una cosa postata nella sezione sbagliata e prego quindi i Mods. di cancellarla in quella sezione .

    E' possibile inserire un pulsante che non visualizzi i dati della colonna associata ma solo il testo scelto ? Ovvero ho una gridview con 4 campi di cui uno e' l'ID dell'articolo , ma sul pulsante vorrei far comparire solo la scritta "Seleziona" e non l'ID articolo associato ?

    Pagina ASPX

    - Linguaggio Vb
    - Archivio Access (al momento cosi' , tanto e' una intranet locale e la cosa serve solo per cercare copie degli articoli che riguardano un settore e nell'archivio a parte alcuni campi descrizione , data , categoria c'e' solo archiviato il link alla copia PDE dell'articolo , poi una volta finito lo passiamo su qualcosa di piu' serio)

    Praticamente un volta individuato l'articolo c'e' un pulsante che permette di visualizzare/scaricare la copia che e' in una cartella della intranet , quindi vorremmo evitare di visualizzare la radice completa , ora la strada piu' semplice e' mettere il classico pulsante con la proprieta' select che si aggancia al campo collegamento , ma esteticamente non e' la soluzione preferita e quindi volevo vedere se era possibile nasconderlo (anche se ho gia messo una colonna che in pratica ha i colori del font identici al fondo quindi non si vede) .

  2. #2
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    Non credo di aver capito, con un po' di codice mi faciliteresti il compito.
    Per quello che ti serve mi sembra ti basti inserire un linkbutton nella gridview, comunque la gridview ha un evento RowDataBound nel quale puoi intercettare il contenuto della riga e modificarlo a tuo piacere.
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    17
    A me interessa non far vedere il link , che e' lunghissimo , quindi mi chiedevo se posso mascherarlo sovrapponendoci il pulsante SELEZIONA che poi innesca il select row al momento ho risolto mettendo una colonna con l'ID e con l'ID facendo poi una select sull'archivio verso un dataview e tirando fuori il link che poi indirizzo alla visualizzazione su un'altra pagina .

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    Alla vecchia maniera si faceva cosi', bastava selezionare tutti i campi che ti servivano al momento del bind della grid e poi nella colonna in cui volevi il bottone mettere:

    ASPX
    codice:
    <asp:Button ID="btnProd" runat="server" Text="Visualizza" CommandArgument='<%#Eval("CampoIDProdotto")%>' CommandName="getProdotto" OnClick="btnGetProdotto" />

    (oppure valorizzare il CommandArgument nell'evnto RowDataBound lato server, come diceva SuperBurgerKing)

    E poi nel code-behind:
    VB:
    codice:
    Private Sub btnGetProdotto(ByVal sender As Object, ByVal e As EventArgs)
        Dim btn As Button = CType(sender, Button)
    
    
        Select Case btn.CommandName
            Case "getProdotto"   ' puoi anche fare una semplice If
                SubCheSiOccupaDellaSelect(btn.CommandArgument.ToString())
        End Select
    End Sub
    Ultima modifica di djciko; 19-02-2018 a 00:29

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    ...per il fatto del Link lunghissimo mi sa che non abbiamo capito, metti un po' di codice e descrivi meglio il problema

    (ma da quello che ho capito, nell'handler del bottone basterebbe fare una redirect al nomefile per farlo scaricare direttamente --ammesso che il browser non ne conosca l'estensione-- oppure forzare il download come in altro thread di pochi giorni fa)
    Ultima modifica di djciko; 19-02-2018 a 00:52

  6. #6
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    SuperBurgerKing

    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    per par condicio, troppe volte nominato il mac (di cui dovrebbe essere noto l'address, tra l'altro).

    ok smetto

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    17
    Allora questa la pagina :
    http://www.fiat2000.it/documenti/Doc...rchiviati.aspx

    Ora se vedete per visualizzare il documento uso la prima colonna dove c'e' l'ID della riga, nascosto usando lo stesso colore del fondo , lo estraggo dalla riga e faccio una Query sull'archivio verso un dataview e li mi estraggo la posizione del documento che poi passo come parametro alla pagina di visualizzazione dove semplicemente lo butto in mezzo ad <iframe e spicci

    e lo visualizzo nella pagina , in sintesi quello che vorrei evitare visto dove e' appoggiato e' la Query per ID anche se al momento il sito non e' trafficato ed ancora il sistema che si appoggia su archivio access regge salvo che a giro prendo un Sql Server e ci trasferisco l'archivio .

    PS. erano un po' di anni che non scrivevo qui , infatti mi sono dovuto riregistrare , non mi ricordo se la Policy del Forum permette di inserire link , nel caso prego i mods. di segnalarmelo .
    Ultima modifica di Alex.vt; 19-02-2018 a 17:52

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ciao.
    Da quello che ho visto e che ho capito, mi pare che la prima colonna del gridview sia del tutto inutile. Alla fine, se lo scopo è quello di visualizzare documenti, ma senza far vedere dove sono archiviati, basta usare un database.
    Anche se tu lo disprezzi, Access va benissimo. Una tabella con, per esempio, id_documento, data, categoria, descrizione e percorso_file, giusto per semplificare.
    Il gridview (io non lo uso) potrebbe essere qualcosa del genere:
    codice:
    <asp:GridView  ID="GridView1" runat="server" AllowPaging="True"  PagerSettings-Mode="NumericFirstLast" EnableViewState="true"  AllowSorting="true" EnablePersistedSelection="true"  AutoGenerateColumns="false" >
        <SelectedRowStyle BackColor="#009999" />
        <Columns>
            <asp:BoundField DataField="data" HeaderText="data" SortExpression="data" DataFormatString="{0:d}" />
            <asp:BoundField DataField="categoria" HeaderText="categoria" SortExpression="lower(categoria)" />
            <asp:BoundField DataField="descrizione" HeaderText="descrizione" SortExpression="lower(descrizione)" />
            <asp:TemplateField>
                <HeaderTemplate>Pulsante</HeaderTemplate>
                <ItemTemplate>
                     <asp:Button ID="AddButton" runat="server"  CommandName="documento" CommandArgument="<%#  CType(Container,GridViewRow).RowIndex %>" Text="documento"  CausesValidation="False" OnClientClick="return apri_popup(this.name)"  UseSubmitBehavior="False" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <HeaderTemplate>Link</HeaderTemplate>
                <ItemTemplate>
                    <a href="#" onclick="apri_popup1(<%# getk(Container)%>);return false;">documento</a>
                </ItemTemplate>
            </asp:TemplateField>
    
        </Columns>
    </asp:GridView>
    Io ho messo, per prova, un pulsante e un link.
    Il pulsante server è più difficile (non impossibile) da gestire; mentre il link è molto più facile da gestire.
    Per esempio, la funzione getk(Container) è, lato server:
    codice:
        Protected Function getk(container As Web.UI.IDataItemContainer) As String
            Dim r As GridViewRow = CType(container, GridViewRow)
            Dim key As Integer = CInt(Me.GridView1.DataKeys(r.RowIndex)(0))
            Return key.ToString
        End Function
    Come vedi ti restituisce un id, col quale entri nel database, recuperi il campo percorso, leggi il file, e lo restituisci al chiamante, per esempio in un popup

    comunque, certe precauzioni sono inutili. Basta premere F12 e trovi quello che vuoi, per esempio:

    [link]http://fiat2000.it/files/allegati/STO%20RICOSTRUZIONE%204.2%20DEFINITIVO%20(ALLEGATO %20C).pdf[/link]
    Pietro

  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    Quote Originariamente inviata da Alex.vt Visualizza il messaggio
    PS. erano un po' di anni che non scrivevo qui , infatti mi sono dovuto riregistrare , non mi ricordo se la Policy del Forum permette di inserire link , nel caso prego i mods. di segnalarmelo .
    si tranquillo, se sono per esporre lo scenario si possono mettere.
    non è spam

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.